/*!normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css*/@import "https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900";html{line-height:1.15;-webkit-text-size-adjust:100%}html,body,main,div,span,a,li,ul,hr,h1,h2,h3,h4,h5,h6{padding:0;margin:0}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;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}html{font-family:lato,-apple-system,BlinkMacSystemFont,helvetica neue,pingfang sc,hiragino sans gb,STHeiti,microsoft yahei,wenquanyi micro hei,Arial,Verdana,sans-serif}html::-webkit-scrollbar{width:8px;height:8px}html::-webkit-scrollbar-thumb{height:40px;background-color:#87878d;border-radius:16px}html::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background:rgba(0,149,255,.1)}body{font-size:16px;font-weight:400;line-height:26px;background-color:#fff;color:#161209}body:before{content:"";background-repeat:no-repeat;background-position:50%;opacity:.05;position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:grayscale(100%);filter:gray}body.dark-theme{color:#a9a9b3;background-color:#292a2d}a{color:#161209;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease}a:hover{color:#2d96bd}.dark-theme a{color:#a9a9b3}.dark-theme a:hover{color:#fff}.wrapper{display:flex;flex-direction:column;min-height:98vh;width:100%}.main{flex:1 0 auto}.container{padding-left:1rem;padding-right:1rem}.footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}.notfound{font-size:2rem;transform:translateY(35vh);text-align:center}.home-intro{transform:translateY(25vh);text-align:center}.home-intro .home-avatar{padding:.6rem}.home-intro .home-avatar img{width:8rem;height:auto;display:inline-block;-webkit-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 .3618em rgba(0,0,0,.05);box-shadow:0 0 0 .3618em rgba(0,0,0,.05);margin:0 auto;-webkit-transition:all ease .4s;-moz-transition:all ease .4s;-o-transition:all ease .4s;transition:all ease .4s;cursor:pointer}.home-intro .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-moz-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem);cursor:pointer}.home-intro .home-description{font-size:1rem;font-weight:400;padding:.4rem}.home-intro .home-social-links{padding-top:.6rem}.home-intro .home-social-links i{font-size:1.4rem}.post-warp{position:relative;width:100%;max-width:960px;margin:0 auto;padding-top:6rem}.post-warp .post-title{margin:0!important;font-size:1.8rem;line-height:3rem}.post-warp .post-meta{font-size:.88rem;color:rgba(85,85,85,.52941)!important}.post-warp .post-meta span{display:inline-block}.dark-theme .post-warp .post-meta{color:#87878d!important}.post-warp .post-meta a{color:#2d96bd}.dark-theme .post-warp .post-meta a{color:#eee}.post-warp .post-meta a:hover{color:#ef3982}.dark-theme .post-warp .post-meta a:hover{color:#fff}.post-warp .post-meta .author{font-size:1.05rem}.post-warp .post-featured-image{padding-top:.6rem}.post-warp .post-featured-image img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.post-warp .post-toc{display:block;position:absolute;width:240px;max-width:300px;margin-left:980px;padding:.8rem;border-left:1px solid #dcdcdc;word-wrap:break-word;box-sizing:border-box;top:12rem}.post-warp .post-toc .post-toc-title{font-weight:400;text-transform:uppercase}.post-warp .post-toc .post-toc-content.always-active ul{display:block}.post-warp .post-toc .post-toc-content>nav>ul{margin:.625rem 0}.post-warp .post-toc .post-toc-content ul{padding-left:.625rem;list-style:none}.post-warp .post-toc .post-toc-content ul ul{padding-left:1.25rem;display:none}.post-warp .post-toc .post-toc-content ul .has-active>ul{display:block}.post-warp .post-toc .post-toc-content .toc-link.active{color:#2d96bd}.post-warp .post-toc-mobile{display:none;padding-top:.8rem}.post-warp .post-toc-mobile details summary .post-toc-title{display:block;display:flex;justify-content:space-between;font-size:1.2em;font-weight:700;line-height:2em;padding:0 .625rem;background:#f5f5f5}.post-warp .post-toc-mobile details summary .post-toc-title i.details{line-height:2em}.dark-theme .post-warp .post-toc-mobile details summary .post-toc-title{background:#272c34}.post-warp .post-toc-mobile details summary::-webkit-details-marker{display:none}.post-warp .post-toc-mobile details[open] i.details{transform:rotate(180deg)}.post-warp .post-toc-mobile .post-toc-content{border:2px solid #f5f5f5}.post-warp .post-toc-mobile .post-toc-content>nav>ul{margin:.625rem 0}.post-warp .post-toc-mobile .post-toc-content ul{padding-left:.625rem;list-style:none}.post-warp .post-toc-mobile .post-toc-content ul ul{padding-left:1.25rem}.dark-theme .post-warp .post-toc-mobile .post-toc-content{border:2px solid #272c34}.post-warp .post-content .post-dummy-target:target{display:inline-block;position:relative;top:-5.6rem;visibility:hidden}.post-warp .post-content h2,.post-warp .post-content h3,.post-warp .post-content h4,.post-warp .post-content h5,.post-warp .post-content h6{padding-top:.8rem;padding-bottom:.3rem}.post-warp .post-content h2::before{content:"#";margin-right:.3125rem;color:#2d96bd}.dark-theme .post-warp .post-content h2::before{color:#eee}.post-warp .post-content h3::before,.post-warp .post-content h4::before,.post-warp .post-content h5::before,.post-warp .post-content h6::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark-theme .post-warp .post-content h3::before,.dark-theme .post-warp .post-content h4::before,.dark-theme .post-warp .post-content h5::before,.dark-theme .post-warp .post-content h6::before{color:#eee}.post-warp .post-content p{font-size:1rem;margin:.5rem 0;text-align:justify}.post-warp .post-content a{color:#2d96bd}.dark-theme .post-warp .post-content a{color:#eee}.post-warp .post-content a:hover{color:#ef3982}.dark-theme .post-warp .post-content a:hover:hover{color:#fff;font-weight:700}.post-warp .post-content ul{padding-left:2rem}.post-warp .post-content ruby{background:#f5f5f5}.post-warp .post-content ruby rt{color:#a9a9b3}.dark-theme .post-warp .post-content ruby{background:#272c34}.dark-theme .post-warp .post-content ruby rt{color:#87878d}.post-warp .post-content .table-wrapper{overflow-x:auto}.post-warp .post-content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;box-shadow:2px 2px 3px rgba(0,0,0,.125);background:#fff}.dark-theme .post-warp .post-content .table-wrapper>table{background:#272c34}.post-warp .post-content .table-wrapper>table thead{background:#ededed}.dark-theme .post-warp .post-content .table-wrapper>table thead{background-color:#20252b}.post-warp .post-content .table-wrapper>table th,.post-warp .post-content .table-wrapper>table td{padding:.3rem 1rem;border:1px double #dcdcdc}.dark-theme .post-warp .post-content .table-wrapper>table th,.dark-theme .post-warp .post-content .table-wrapper>table td{border:1px double #4a4b50}.post-warp .post-content figure{text-align:center}.post-warp .post-content .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:.625rem;margin:0 auto;border-bottom:1px solid #d9d9d9;font-size:.875rem;color:#969696;line-height:1.7}.post-warp .post-content img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.post-warp .post-content blockquote{font-size:1rem;display:block;border-width:1px 0;border-style:solid;border-color:#dcdcdc;padding:1.5em 1.2em .5em;margin:0 0 2em;position:relative}.post-warp .post-content blockquote:before{content:'\201C';position:absolute;top:0;left:50%;transform:translate(-50%,-50%);width:3rem;height:2rem;font:6em/1.08em pt sans,sans-serif;color:#2d96bd;text-align:center}.dark-theme .post-warp .post-content blockquote:before{color:#eee}.post-warp .post-content blockquote:after{content:"#blockquote" attr(cite);display:block;text-align:right;font-size:.875em;color:#2d96bd}.dark-theme .post-warp .post-content blockquote:after{color:#eee}.dark-theme .post-warp .post-content blockquote{border-color:#4a4b50}.post-warp .post-content code,.post-warp .post-content pre{padding:7px;font-size:13px;font-family:Consolas,Monaco,Menlo,dejavu sans mono,bitstream vera sans mono,courier new,monospace;background:#f5f5f5}.dark-theme .post-warp .post-content code,.dark-theme .post-warp .post-content pre{background:#272c34}.post-warp .post-content code{padding:3px 5px;border-radius:4px;color:#e74c3c;background:#f5f5f5}.dark-theme .post-warp .post-content code{color:#e5bf78;background:#272c34}.post-warp .post-content p>code{background:#ededed}.dark-theme .post-warp .post-content p>code{color:#e5bf78;background:#20252b}.post-warp .post-content .highlight>.chroma{margin:1em 0;border-radius:5px;overflow-x:auto;box-shadow:1px 1px 2px rgba(0,0,0,.125);position:relative;background:#f5f5f5}.post-warp .post-content .highlight>.chroma code{padding:0}.post-warp .post-content .highlight>.chroma table{position:relative}.post-warp .post-content .highlight>.chroma table::after{position:absolute;top:0;right:0;left:0;padding:2px 7px;font-size:13px;font-weight:700;color:#b1b0b0;background:#ededed;content:'Code'}.dark-theme .post-warp .post-content .highlight>.chroma table::after{background:#20252b}.post-warp .post-content .highlight>.chroma.language-bash table::after{content:"Bash"}.post-warp .post-content .highlight>.chroma.language-c table::after{content:"C"}.post-warp .post-content .highlight>.chroma.language-cs table::after{content:"C#"}.post-warp .post-content .highlight>.chroma.language-cpp table::after{content:"C++"}.post-warp .post-content .highlight>.chroma.language-css table::after{content:"CSS"}.post-warp .post-content .highlight>.chroma.language-coffeescript table::after{content:"CoffeeScript"}.post-warp .post-content .highlight>.chroma.language-html table::after{content:"HTML"}.post-warp .post-content .highlight>.chroma.language-xml table::after{content:"XML"}.post-warp .post-content .highlight>.chroma.language-http table::after{content:"HTTP"}.post-warp .post-content .highlight>.chroma.language-json table::after{content:"JSON"}.post-warp .post-content .highlight>.chroma.language-java table::after{content:"Java"}.post-warp .post-content .highlight>.chroma.language-js table::after{content:"JavaScript"}.post-warp .post-content .highlight>.chroma.language-javascript table::after{content:"JavaScript"}.post-warp .post-content .highlight>.chroma.language-makefile table::after{content:"Makefile"}.post-warp .post-content .highlight>.chroma.language-markdown table::after{content:"Markdown"}.post-warp .post-content .highlight>.chroma.language-objectivec table::after{content:"Objective-C"}.post-warp .post-content .highlight>.chroma.language-php table::after{content:"PHP"}.post-warp .post-content .highlight>.chroma.language-perl table::after{content:"Perl"}.post-warp .post-content .highlight>.chroma.language-python table::after{content:"Python"}.post-warp .post-content .highlight>.chroma.language-ruby table::after{content:"Ruby"}.post-warp .post-content .highlight>.chroma.language-sql table::after{content:"SQL"}.post-warp .post-content .highlight>.chroma.language-shell table::after{content:"Shell"}.post-warp .post-content .highlight>.chroma.language-erlang table::after{content:"Erlang"}.post-warp .post-content .highlight>.chroma.language-go table::after{content:"Go"}.post-warp .post-content .highlight>.chroma.language-go-html-template table::after{content:"Go HTML Template"}.post-warp .post-content .highlight>.chroma.language-groovy table::after{content:"Groovy"}.post-warp .post-content .highlight>.chroma.language-haskell table::after{content:"Haskell"}.post-warp .post-content .highlight>.chroma.language-kotlin table::after{content:"Kotlin"}.post-warp .post-content .highlight>.chroma.language-clojure table::after{content:"Clojure"}.post-warp .post-content .highlight>.chroma.language-less table::after{content:"Less"}.post-warp .post-content .highlight>.chroma.language-lisp table::after{content:"Lisp"}.post-warp .post-content .highlight>.chroma.language-lua table::after{content:"Lua"}.post-warp .post-content .highlight>.chroma.language-matlab table::after{content:"Matlab"}.post-warp .post-content .highlight>.chroma.language-rust table::after{content:"Rust"}.post-warp .post-content .highlight>.chroma.language-scss table::after{content:"Scss"}.post-warp .post-content .highlight>.chroma.language-scala table::after{content:"Scala"}.post-warp .post-content .highlight>.chroma.language-swift table::after{content:"Swift"}.post-warp .post-content .highlight>.chroma.language-typescript table::after{content:"TypeScript"}.post-warp .post-content .highlight>.chroma.language-yml table::after{content:"YAML"}.post-warp .post-content .highlight>.chroma.language-yaml table::after{content:"YAML"}.post-warp .post-content .highlight>.chroma.language-toml table::after{content:"TOML"}.post-warp .post-content .highlight>.chroma.language-diff table::after{content:"Diff"}.post-warp .post-content .highlight>.chroma .lntd{line-height:20px}.post-warp .post-content .highlight>.chroma .lntd:first-child{width:10px}.post-warp .post-content .highlight>.chroma .lntd:first-child pre{margin:0;padding:38px 7px 8px}.post-warp .post-content .highlight>.chroma .lntd:last-child{vertical-align:top}.post-warp .post-content .highlight>.chroma .lntd:last-child pre{margin:0;padding:38px 10px 8px}.post-warp .post-content .highlight>.chroma table,.post-warp .post-content .highlight>.chroma tr,.post-warp .post-content .highlight>.chroma td{margin:0;padding:0;width:100%;border-collapse:collapse;border-color:#f5f5f5}.dark-theme .post-warp .post-content .highlight>.chroma table,.dark-theme .post-warp .post-content .highlight>.chroma tr,.dark-theme .post-warp .post-content .highlight>.chroma td{border-color:#272c34}.post-warp .post-content .highlight>.chroma .lnt{color:#cacaca}.post-warp .post-content .highlight>.chroma .hl{display:block;width:100%;background-color:#e8e8e8}.dark-theme .post-warp .post-content .highlight>.chroma .hl{background-color:#1c2025}.post-warp .post-content .highlight>.chroma .chroma .p{color:#a9a9b3}.post-warp .post-content .highlight>.chroma .k{color:#859900}.post-warp .post-content .highlight>.chroma .kc{color:#859900;font-weight:700}.post-warp .post-content .highlight>.chroma .kd{color:#859900}.post-warp .post-content .highlight>.chroma .kn{color:#dc322f;font-weight:700}.post-warp .post-content .highlight>.chroma .kp{color:#859900}.post-warp .post-content .highlight>.chroma .kr{color:#859900}.post-warp .post-content .highlight>.chroma .kt{color:#859900;font-weight:700}.post-warp .post-content .highlight>.chroma .n{color:#268bd2}.post-warp .post-content .highlight>.chroma .na{color:#268bd2}.post-warp .post-content .highlight>.chroma .nb{color:#cb4b16}.post-warp .post-content .highlight>.chroma .bp{color:#268bd2}.post-warp .post-content .highlight>.chroma .nc{color:#cb4b16}.post-warp .post-content .highlight>.chroma .no{color:#268bd2}.post-warp .post-content .highlight>.chroma .nd{color:#268bd2}.post-warp .post-content .highlight>.chroma .ni{color:#268bd2}.post-warp .post-content .highlight>.chroma .ne{color:#268bd2}.post-warp .post-content .highlight>.chroma .nf{color:#268bd2}.post-warp .post-content .highlight>.chroma .fm{color:#268bd2}.post-warp .post-content .highlight>.chroma .nl{color:#268bd2}.post-warp .post-content .highlight>.chroma .nn{color:#268bd2}.post-warp .post-content .highlight>.chroma .nx{color:#268bd2}.post-warp .post-content .highlight>.chroma .py{color:#268bd2}.post-warp .post-content .highlight>.chroma .nt{color:#268bd2;font-weight:700}.post-warp .post-content .highlight>.chroma .nv{color:#268bd2}.post-warp .post-content .highlight>.chroma .vc{color:#268bd2}.post-warp .post-content .highlight>.chroma .vg{color:#268bd2}.post-warp .post-content .highlight>.chroma .vi{color:#268bd2}.post-warp .post-content .highlight>.chroma .vm{color:#268bd2}.post-warp .post-content .highlight>.chroma .l{color:#2aa198}.post-warp .post-content .highlight>.chroma .ld{color:#2aa198}.post-warp .post-content .highlight>.chroma .s{color:#2aa198}.post-warp .post-content .highlight>.chroma .sa{color:#2aa198}.post-warp .post-content .highlight>.chroma .sb{color:#2aa198}.post-warp .post-content .highlight>.chroma .sc{color:#2aa198}.post-warp .post-content .highlight>.chroma .dl{color:#2aa198}.post-warp .post-content .highlight>.chroma .sd{color:#2aa198}.post-warp .post-content .highlight>.chroma .s2{color:#2aa198}.post-warp .post-content .highlight>.chroma .se{color:#2aa198}.post-warp .post-content .highlight>.chroma .sh{color:#2aa198}.post-warp .post-content .highlight>.chroma .si{color:#2aa198}.post-warp .post-content .highlight>.chroma .sx{color:#2aa198}.post-warp .post-content .highlight>.chroma .sr{color:#2aa198}.post-warp .post-content .highlight>.chroma .s1{color:#2aa198}.post-warp .post-content .highlight>.chroma .ss{color:#2aa198}.post-warp .post-content .highlight>.chroma .m{color:#2aa198;font-weight:700}.post-warp .post-content .highlight>.chroma .mb{color:#2aa198;font-weight:700}.post-warp .post-content .highlight>.chroma .mf{color:#2aa198;font-weight:700}.post-warp .post-content .highlight>.chroma .mh{color:#2aa198;font-weight:700}.post-warp .post-content .highlight>.chroma .mi{color:#2aa198;font-weight:700}.post-warp .post-content .highlight>.chroma .il{color:#2aa198;font-weight:700}.post-warp .post-content .highlight>.chroma .mo{color:#2aa198;font-weight:700}.post-warp .post-content .highlight>.chroma .ow{color:#859900}.post-warp .post-content .highlight>.chroma .c{color:#93a1a1;font-style:italic}.post-warp .post-content .highlight>.chroma .ch{color:#93a1a1;font-style:italic}.post-warp .post-content .highlight>.chroma .cm{color:#93a1a1;font-style:italic}.post-warp .post-content .highlight>.chroma .c1{color:#93a1a1;font-style:italic}.post-warp .post-content .highlight>.chroma .cs{color:#93a1a1;font-style:italic}.post-warp .post-content .highlight>.chroma .cp{color:#93a1a1;font-style:italic}.post-warp .post-content .highlight>.chroma .cpf{color:#93a1a1;font-style:italic}.post-warp .post-content .highlight>.chroma .g{color:#d33682}.post-warp .post-content .highlight>.chroma .gd{color:#b58900}.post-warp .post-content .highlight>.chroma .ge{color:#d33682}.post-warp .post-content .highlight>.chroma .gr{color:#d33682}.post-warp .post-content .highlight>.chroma .gh{color:#d33682}.post-warp .post-content .highlight>.chroma .gi{color:#859900}.post-warp .post-content .highlight>.chroma .go{color:#d33682}.post-warp .post-content .highlight>.chroma .gp{color:#d33682}.post-warp .post-content .highlight>.chroma .gs{color:#d33682}.post-warp .post-content .highlight>.chroma .gu{color:#d33682}.post-warp .post-content .highlight>.chroma .gt{color:#d33682}.dark-theme .post-warp .post-content .highlight>.chroma{background:#272c34}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .k{color:#d371e3}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .kc{color:#d371e3}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .kd{color:#d371e3}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .kn{color:#d371e3}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .kp{color:#d371e3}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .kr{color:#d371e3}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .kt{color:#8be9fd}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .na{color:#41b1f5}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .nb{color:#8be9fd;font-style:italic}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .nc{color:#e5bf78}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .nf{color:#19b8c0}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .nx{color:#f16473}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .nl{color:#8be9fd;font-style:italic}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .nt{color:#d371e3}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .nv{color:#8be9fd;font-style:italic}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .vc{color:#8be9fd;font-style:italic}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .vg{color:#8be9fd;font-style:italic}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .vi{color:#8be9fd;font-style:italic}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .s{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .sa{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .sb{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .sc{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .dl{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .sd{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .s2{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .se{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .sh{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .si{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .sx{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .sr{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .s1{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .ss{color:#8bc56f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .m{color:#bd93f9}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .mb{color:#bd93f9}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .mf{color:#bd93f9}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .mh{color:#bd93f9}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .mi{color:#bd93f9}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .il{color:#bd93f9}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .mo{color:#bd93f9}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .o{color:#d371e3}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .ow{color:#d371e3}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .c{color:#7e848f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .ch{color:#7e848f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .cm{color:#7e848f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .c1{color:#7e848f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .cs{color:#7e848f}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .cp{color:#d371e3}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .cpf{color:#d371e3}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .gd{color:#8b080b}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .ge{text-decoration:underline}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .gh{font-weight:700}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .gi{font-weight:700}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .go{color:#44475a}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .gu{font-weight:700}.dark-theme .post-warp .post-content .highlight>.chroma .chroma .gl{text-decoration:underline}.post-warp .post-content .admonition{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:relative;margin:.9765em 0;padding:0 .75rem;border-left:.25rem solid #448aff;border-radius:.125rem;overflow:auto}.post-warp .post-content .admonition .admonition-title{margin:0 -.75rem;padding:.5rem .75rem .5rem 2.5rem;border-bottom:.1rem solid rgba(68,138,255,.1);background-color:rgba(68,138,255,.1);font-weight:700}.post-warp .post-content .admonition i.icon{font-size:16px;cursor:auto;position:absolute;left:.75rem;top:.75rem}.post-warp .post-content .admonition.note{border-left-color:#448aff}.post-warp .post-content .admonition.note i.icon{color:#448aff}.post-warp .post-content .admonition.abstract{border-left-color:#00b0ff}.post-warp .post-content .admonition.abstract .admonition-title{background-color:rgba(0,176,255,.1)}.post-warp .post-content .admonition.abstract i.icon{color:#00b0ff}.post-warp .post-content .admonition.info{border-left-color:#00b8d4}.post-warp .post-content .admonition.info .admonition-title{background-color:rgba(0,184,212,.1)}.post-warp .post-content .admonition.info i.icon{color:#00b8d4}.post-warp .post-content .admonition.tip{border-left-color:#00bfa5}.post-warp .post-content .admonition.tip .admonition-title{background-color:rgba(0,191,165,.1)}.post-warp .post-content .admonition.tip i.icon{color:#00bfa5}.post-warp .post-content .admonition.success{border-left-color:#00c853}.post-warp .post-content .admonition.success .admonition-title{background-color:rgba(0,200,83,.1)}.post-warp .post-content .admonition.success i.icon{color:#00c853}.post-warp .post-content .admonition.question{border-left-color:#64dd17}.post-warp .post-content .admonition.question .admonition-title{background-color:rgba(100,221,23,.1)}.post-warp .post-content .admonition.question i.icon{color:#64dd17}.post-warp .post-content .admonition.warning{border-left-color:#ff9100}.post-warp .post-content .admonition.warning .admonition-title{background-color:rgba(255,145,0,.1)}.post-warp .post-content .admonition.warning i.icon{color:#ff9100}.post-warp .post-content .admonition.failure{border-left-color:#ff5252}.post-warp .post-content .admonition.failure .admonition-title{background-color:rgba(255,82,82,.1)}.post-warp .post-content .admonition.failure i.icon{color:#ff5252}.post-warp .post-content .admonition.danger{border-left-color:#ff1744}.post-warp .post-content .admonition.danger .admonition-title{background-color:rgba(255,23,68,.1)}.post-warp .post-content .admonition.danger i.icon{color:#ff1744}.post-warp .post-content .admonition.bug{border-left-color:#f50057}.post-warp .post-content .admonition.bug .admonition-title{background-color:rgba(245,0,87,.1)}.post-warp .post-content .admonition.bug i.icon{color:#f50057}.post-warp .post-content .admonition.example{border-left-color:#651fff}.post-warp .post-content .admonition.example .admonition-title{background-color:rgba(101,31,255,.1)}.post-warp .post-content .admonition.example i.icon{color:#651fff}.post-warp .post-content .admonition.quote{border-left-color:#9e9e9e}.post-warp .post-content .admonition.quote .admonition-title{background-color:rgba(158,158,158,.1)}.post-warp .post-content .admonition.quote i.icon{color:#9e9e9e}.post-warp .post-content .admonition:last-child{margin-bottom:.75rem}.post-warp .post-content details.admonition summary{display:block;outline:none;cursor:pointer}.post-warp .post-content details.admonition summary::-webkit-details-marker{display:none}.post-warp .post-content details.admonition summary i.details{position:absolute;top:.75rem;right:.75rem;color:#161209}.dark-theme .post-warp .post-content details.admonition summary i.details{color:#a9a9b3}.post-warp .post-content details.admonition[open] i.details{transform:rotate(180deg)}.post-warp .post-content .mermaid{}.post-warp .post-content .mermaid .label{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);color:#333}.post-warp .post-content .mermaid .label text{fill:#333}.post-warp .post-content .mermaid .node rect,.post-warp .post-content .mermaid .node circle,.post-warp .post-content .mermaid .node ellipse,.post-warp .post-content .mermaid .node polygon{fill:#eee;stroke:#999;stroke-width:1px}.post-warp .post-content .mermaid .node .label{text-align:center}.post-warp .post-content .mermaid .node.clickable{cursor:pointer}.post-warp .post-content .mermaid .arrowheadPath{fill:#333}.post-warp .post-content .mermaid .edgePath .path{stroke:#666;stroke-width:1.5px}.post-warp .post-content .mermaid .edgeLabel{background-color:#fff;text-align:center}.post-warp .post-content .mermaid .cluster rect{fill:#eaf2fb;stroke:#26a;stroke-width:1px}.post-warp .post-content .mermaid .cluster text{fill:#333}.post-warp .post-content .mermaid div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:12px;background:#eaf2fb;border:1px solid #26a;border-radius:2px;pointer-events:none;z-index:100}.post-warp .post-content .mermaid .actor{stroke:#999;fill:#eee}.post-warp .post-content .mermaid text.actor{fill:#333;stroke:none}.post-warp .post-content .mermaid .actor-line{stroke:#666}.post-warp .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.post-warp .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.post-warp .post-content .mermaid #arrowhead{fill:#333}.post-warp .post-content .mermaid .sequenceNumber{fill:#fff}.post-warp .post-content .mermaid #sequencenumber{fill:#333}.post-warp .post-content .mermaid #crosshead path{fill:#333!important;stroke:#333!important}.post-warp .post-content .mermaid .messageText{fill:#333;stroke:none}.post-warp .post-content .mermaid .labelBox{stroke:#999;fill:#eee}.post-warp .post-content .mermaid .labelText{fill:#333;stroke:none}.post-warp .post-content .mermaid .loopText{fill:#333;stroke:none}.post-warp .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#999}.post-warp .post-content .mermaid .note{stroke:#770;fill:#ffa}.post-warp .post-content .mermaid .noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:14px}.post-warp .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.post-warp .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.post-warp .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.post-warp .post-content .mermaid .mermaid-main-font{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.post-warp .post-content .mermaid .section{stroke:none;opacity:.2}.post-warp .post-content .mermaid .section0{fill:#80b3e6}.post-warp .post-content .mermaid .section2{fill:#80b3e6}.post-warp .post-content .mermaid .section1,.post-warp .post-content .mermaid .section3{fill:#fff;opacity:.2}.post-warp .post-content .mermaid .sectionTitle0{fill:#333}.post-warp .post-content .mermaid .sectionTitle1{fill:#333}.post-warp .post-content .mermaid .sectionTitle2{fill:#333}.post-warp .post-content .mermaid .sectionTitle3{fill:#333}.post-warp .post-content .mermaid .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.post-warp .post-content .mermaid .grid .tick{stroke:#e6e5e5;opacity:.3;shape-rendering:crispEdges}.post-warp .post-content .mermaid .grid .tick text{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.post-warp .post-content .mermaid .grid path{stroke-width:0}.post-warp .post-content .mermaid .today{fill:none;stroke:#d42;stroke-width:2px}.post-warp .post-content .mermaid .task{stroke-width:2}.post-warp .post-content .mermaid .taskText{text-anchor:middle;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.post-warp .post-content .mermaid .taskText:not([font-size]){font-size:11px}.post-warp .post-content .mermaid .taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.post-warp .post-content .mermaid .taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.post-warp .post-content .mermaid .task.clickable{cursor:pointer}.post-warp .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.post-warp .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.post-warp .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.post-warp .post-content .mermaid .taskText0,.post-warp .post-content .mermaid .taskText1,.post-warp .post-content .mermaid .taskText2,.post-warp .post-content .mermaid .taskText3{fill:#fff}.post-warp .post-content .mermaid .task0,.post-warp .post-content .mermaid .task1,.post-warp .post-content .mermaid .task2,.post-warp .post-content .mermaid .task3{fill:#26a;stroke:#1a4d80}.post-warp .post-content .mermaid .taskTextOutside0,.post-warp .post-content .mermaid .taskTextOutside2{fill:#333}.post-warp .post-content .mermaid .taskTextOutside1,.post-warp .post-content .mermaid .taskTextOutside3{fill:#333}.post-warp .post-content .mermaid .active0,.post-warp .post-content .mermaid .active1,.post-warp .post-content .mermaid .active2,.post-warp .post-content .mermaid .active3{fill:#eee;stroke:#1a4d80}.post-warp .post-content .mermaid .activeText0,.post-warp .post-content .mermaid .activeText1,.post-warp .post-content .mermaid .activeText2,.post-warp .post-content .mermaid .activeText3{fill:#333!important}.post-warp .post-content .mermaid .done0,.post-warp .post-content .mermaid .done1,.post-warp .post-content .mermaid .done2,.post-warp .post-content .mermaid .done3{stroke:#666;fill:#bbb;stroke-width:2}.post-warp .post-content .mermaid .doneText0,.post-warp .post-content .mermaid .doneText1,.post-warp .post-content .mermaid .doneText2,.post-warp .post-content .mermaid .doneText3{fill:#333!important}.post-warp .post-content .mermaid .crit0,.post-warp .post-content .mermaid .crit1,.post-warp .post-content .mermaid .crit2,.post-warp .post-content .mermaid .crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.post-warp .post-content .mermaid .activeCrit0,.post-warp .post-content .mermaid .activeCrit1,.post-warp .post-content .mermaid .activeCrit2,.post-warp .post-content .mermaid .activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.post-warp .post-content .mermaid .doneCrit0,.post-warp .post-content .mermaid .doneCrit1,.post-warp .post-content .mermaid .doneCrit2,.post-warp .post-content .mermaid .doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.post-warp .post-content .mermaid .milestone{transform:rotate(45deg) scale(0.8,0.8)}.post-warp .post-content .mermaid .milestoneText{font-style:italic}.post-warp .post-content .mermaid .doneCritText0,.post-warp .post-content .mermaid .doneCritText1,.post-warp .post-content .mermaid .doneCritText2,.post-warp .post-content .mermaid .doneCritText3{fill:#333!important}.post-warp .post-content .mermaid .activeCritText0,.post-warp .post-content .mermaid .activeCritText1,.post-warp .post-content .mermaid .activeCritText2,.post-warp .post-content .mermaid .activeCritText3{fill:#333!important}.post-warp .post-content .mermaid .titleText{text-anchor:middle;font-size:18px;fill:#333;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.post-warp .post-content .mermaid g.classGroup text{fill:#999;stroke:none;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:10px}.post-warp .post-content .mermaid g.classGroup text .title{font-weight:bolder}.post-warp .post-content .mermaid g.classGroup rect{fill:#eee;stroke:#999}.post-warp .post-content .mermaid g.classGroup line{stroke:#999;stroke-width:1}.post-warp .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:.5}.post-warp .post-content .mermaid .classLabel .label{fill:#999;font-size:10px}.post-warp .post-content .mermaid .relation{stroke:#999;stroke-width:1;fill:none}.post-warp .post-content .mermaid #compositionStart{fill:#999;stroke:#999;stroke-width:1}.post-warp .post-content .mermaid #compositionEnd{fill:#999;stroke:#999;stroke-width:1}.post-warp .post-content .mermaid #aggregationStart{fill:#eee;stroke:#999;stroke-width:1}.post-warp .post-content .mermaid #aggregationEnd{fill:#eee;stroke:#999;stroke-width:1}.post-warp .post-content .mermaid #dependencyStart{fill:#999;stroke:#999;stroke-width:1}.post-warp .post-content .mermaid #dependencyEnd{fill:#999;stroke:#999;stroke-width:1}.post-warp .post-content .mermaid #extensionStart{fill:#999;stroke:#999;stroke-width:1}.post-warp .post-content .mermaid #extensionEnd{fill:#999;stroke:#999;stroke-width:1}.post-warp .post-content .mermaid .commit-id,.post-warp .post-content .mermaid .commit-msg,.post-warp .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.post-warp .post-content .mermaid .pieTitleText{text-anchor:middle;font-size:25px;fill:#333;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.post-warp .post-content .mermaid .slice{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.post-warp .post-content .mermaid g.stateGroup text{fill:#999;stroke:none;font-size:10px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.post-warp .post-content .mermaid g.stateGroup text{fill:#999;stroke:none;font-size:10px}.post-warp .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.post-warp .post-content .mermaid g.stateGroup rect{fill:#eee;stroke:#999}.post-warp .post-content .mermaid g.stateGroup line{stroke:#999;stroke-width:1}.post-warp .post-content .mermaid .transition{stroke:#999;stroke-width:1;fill:none}.post-warp .post-content .mermaid .stateGroup .composit{fill:#fff;border-bottom:1px}.post-warp .post-content .mermaid .state-note{stroke:#770;fill:#ffa}.post-warp .post-content .mermaid .state-note text{fill:#000;stroke:none;font-size:10px}.post-warp .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:.5}.post-warp .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:700;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.post-warp .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.dark-theme .post-warp .post-content .mermaid{}.dark-theme .post-warp .post-content .mermaid .label{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);color:#333}.dark-theme .post-warp .post-content .mermaid .label text{fill:#333}.dark-theme .post-warp .post-content .mermaid .node rect,.dark-theme .post-warp .post-content .mermaid .node circle,.dark-theme .post-warp .post-content .mermaid .node ellipse,.dark-theme .post-warp .post-content .mermaid .node polygon{fill:#bdd5ea;stroke:purple;stroke-width:1px}.dark-theme .post-warp .post-content .mermaid .node .label{text-align:center}.dark-theme .post-warp .post-content .mermaid .node.clickable{cursor:pointer}.dark-theme .post-warp .post-content .mermaid .arrowheadPath{fill:lightgrey}.dark-theme .post-warp .post-content .mermaid .edgePath .path{stroke:lightgrey;stroke-width:1.5px}.dark-theme .post-warp .post-content .mermaid .edgeLabel{background-color:#e8e8e8;text-align:center}.dark-theme .post-warp .post-content .mermaid .cluster rect{fill:#6d6d65;stroke:rgba(255,255,255,.25);stroke-width:1px}.dark-theme .post-warp .post-content .mermaid .cluster text{fill:#f9fffe}.dark-theme .post-warp .post-content .mermaid div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:12px;background:#6d6d65;border:1px solid rgba(255,255,255,.25);border-radius:2px;pointer-events:none;z-index:100}.dark-theme .post-warp .post-content .mermaid .actor{stroke:#81b1db;fill:#bdd5ea}.dark-theme .post-warp .post-content .mermaid text.actor{fill:#000;stroke:none}.dark-theme .post-warp .post-content .mermaid .actor-line{stroke:lightgrey}.dark-theme .post-warp .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:lightgrey}.dark-theme .post-warp .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:lightgrey}.dark-theme .post-warp .post-content .mermaid #arrowhead{fill:lightgrey}.dark-theme .post-warp .post-content .mermaid .sequenceNumber{fill:#fff}.dark-theme .post-warp .post-content .mermaid #sequencenumber{fill:lightgrey}.dark-theme .post-warp .post-content .mermaid #crosshead path{fill:lightgrey!important;stroke:lightgrey!important}.dark-theme .post-warp .post-content .mermaid .messageText{fill:lightgrey;stroke:none}.dark-theme .post-warp .post-content .mermaid .labelBox{stroke:#81b1db;fill:#bdd5ea}.dark-theme .post-warp .post-content .mermaid .labelText{fill:#323d47;stroke:none}.dark-theme .post-warp .post-content .mermaid .loopText{fill:lightgrey;stroke:none}.dark-theme .post-warp .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#81b1db}.dark-theme .post-warp .post-content .mermaid .note{stroke:rgba(255,255,255,.25);fill:#fff5ad}.dark-theme .post-warp .post-content .mermaid .noteText{fill:#000;stroke:none;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:14px}.dark-theme .post-warp .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.dark-theme .post-warp .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.dark-theme .post-warp .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.dark-theme .post-warp .post-content .mermaid .mermaid-main-font{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .post-warp .post-content .mermaid .section{stroke:none;opacity:.2}.dark-theme .post-warp .post-content .mermaid .section0{fill:rgba(255,255,255,.3)}.dark-theme .post-warp .post-content .mermaid .section2{fill:#eae8b9}.dark-theme .post-warp .post-content .mermaid .section1,.dark-theme .post-warp .post-content .mermaid .section3{fill:#fff;opacity:.2}.dark-theme .post-warp .post-content .mermaid .sectionTitle0{fill:#f9fffe}.dark-theme .post-warp .post-content .mermaid .sectionTitle1{fill:#f9fffe}.dark-theme .post-warp .post-content .mermaid .sectionTitle2{fill:#f9fffe}.dark-theme .post-warp .post-content .mermaid .sectionTitle3{fill:#f9fffe}.dark-theme .post-warp .post-content .mermaid .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .post-warp .post-content .mermaid .grid .tick{stroke:lightgrey;opacity:.3;shape-rendering:crispEdges}.dark-theme .post-warp .post-content .mermaid .grid .tick text{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .post-warp .post-content .mermaid .grid path{stroke-width:0}.dark-theme .post-warp .post-content .mermaid .today{fill:none;stroke:#db5757;stroke-width:2px}.dark-theme .post-warp .post-content .mermaid .task{stroke-width:2}.dark-theme .post-warp .post-content .mermaid .taskText{text-anchor:middle;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .post-warp .post-content .mermaid .taskText:not([font-size]){font-size:11px}.dark-theme .post-warp .post-content .mermaid .taskTextOutsideRight{fill:#323d47;text-anchor:start;font-size:11px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .post-warp .post-content .mermaid .taskTextOutsideLeft{fill:#323d47;text-anchor:end;font-size:11px}.dark-theme .post-warp .post-content .mermaid .task.clickable{cursor:pointer}.dark-theme .post-warp .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.dark-theme .post-warp .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.dark-theme .post-warp .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163!important;font-weight:700}.dark-theme .post-warp .post-content .mermaid .taskText0,.dark-theme .post-warp .post-content .mermaid .taskText1,.dark-theme .post-warp .post-content .mermaid .taskText2,.dark-theme .post-warp .post-content .mermaid .taskText3{fill:#323d47}.dark-theme .post-warp .post-content .mermaid .task0,.dark-theme .post-warp .post-content .mermaid .task1,.dark-theme .post-warp .post-content .mermaid .task2,.dark-theme .post-warp .post-content .mermaid .task3{fill:#bdd5ea;stroke:rgba(255,255,255,.5)}.dark-theme .post-warp .post-content .mermaid .taskTextOutside0,.dark-theme .post-warp .post-content .mermaid .taskTextOutside2{fill:lightgrey}.dark-theme .post-warp .post-content .mermaid .taskTextOutside1,.dark-theme .post-warp .post-content .mermaid .taskTextOutside3{fill:lightgrey}.dark-theme .post-warp .post-content .mermaid .active0,.dark-theme .post-warp .post-content .mermaid .active1,.dark-theme .post-warp .post-content .mermaid .active2,.dark-theme .post-warp .post-content .mermaid .active3{fill:#81b1db;stroke:rgba(255,255,255,.5)}.dark-theme .post-warp .post-content .mermaid .activeText0,.dark-theme .post-warp .post-content .mermaid .activeText1,.dark-theme .post-warp .post-content .mermaid .activeText2,.dark-theme .post-warp .post-content .mermaid .activeText3{fill:#323d47!important}.dark-theme .post-warp .post-content .mermaid .done0,.dark-theme .post-warp .post-content .mermaid .done1,.dark-theme .post-warp .post-content .mermaid .done2,.dark-theme .post-warp .post-content .mermaid .done3{stroke:grey;fill:lightgrey;stroke-width:2}.dark-theme .post-warp .post-content .mermaid .doneText0,.dark-theme .post-warp .post-content .mermaid .doneText1,.dark-theme .post-warp .post-content .mermaid .doneText2,.dark-theme .post-warp .post-content .mermaid .doneText3{fill:#323d47!important}.dark-theme .post-warp .post-content .mermaid .crit0,.dark-theme .post-warp .post-content .mermaid .crit1,.dark-theme .post-warp .post-content .mermaid .crit2,.dark-theme .post-warp .post-content .mermaid .crit3{stroke:#e83737;fill:#e83737;stroke-width:2}.dark-theme .post-warp .post-content .mermaid .activeCrit0,.dark-theme .post-warp .post-content .mermaid .activeCrit1,.dark-theme .post-warp .post-content .mermaid .activeCrit2,.dark-theme .post-warp .post-content .mermaid .activeCrit3{stroke:#e83737;fill:#81b1db;stroke-width:2}.dark-theme .post-warp .post-content .mermaid .doneCrit0,.dark-theme .post-warp .post-content .mermaid .doneCrit1,.dark-theme .post-warp .post-content .mermaid .doneCrit2,.dark-theme .post-warp .post-content .mermaid .doneCrit3{stroke:#e83737;fill:lightgrey;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.dark-theme .post-warp .post-content .mermaid .milestone{transform:rotate(45deg) scale(0.8,0.8)}.dark-theme .post-warp .post-content .mermaid .milestoneText{font-style:italic}.dark-theme .post-warp .post-content .mermaid .doneCritText0,.dark-theme .post-warp .post-content .mermaid .doneCritText1,.dark-theme .post-warp .post-content .mermaid .doneCritText2,.dark-theme .post-warp .post-content .mermaid .doneCritText3{fill:#323d47!important}.dark-theme .post-warp .post-content .mermaid .activeCritText0,.dark-theme .post-warp .post-content .mermaid .activeCritText1,.dark-theme .post-warp .post-content .mermaid .activeCritText2,.dark-theme .post-warp .post-content .mermaid .activeCritText3{fill:#323d47!important}.dark-theme .post-warp .post-content .mermaid .titleText{text-anchor:middle;font-size:18px;fill:#323d47;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .post-warp .post-content .mermaid g.classGroup text{fill:purple;stroke:none;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family);font-size:10px}.dark-theme .post-warp .post-content .mermaid g.classGroup text .title{font-weight:bolder}.dark-theme .post-warp .post-content .mermaid g.classGroup rect{fill:#bdd5ea;stroke:purple}.dark-theme .post-warp .post-content .mermaid g.classGroup line{stroke:purple;stroke-width:1}.dark-theme .post-warp .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#bdd5ea;opacity:.5}.dark-theme .post-warp .post-content .mermaid .classLabel .label{fill:purple;font-size:10px}.dark-theme .post-warp .post-content .mermaid .relation{stroke:purple;stroke-width:1;fill:none}.dark-theme .post-warp .post-content .mermaid #compositionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .post-warp .post-content .mermaid #compositionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .post-warp .post-content .mermaid #aggregationStart{fill:#bdd5ea;stroke:purple;stroke-width:1}.dark-theme .post-warp .post-content .mermaid #aggregationEnd{fill:#bdd5ea;stroke:purple;stroke-width:1}.dark-theme .post-warp .post-content .mermaid #dependencyStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .post-warp .post-content .mermaid #dependencyEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .post-warp .post-content .mermaid #extensionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .post-warp .post-content .mermaid #extensionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .post-warp .post-content .mermaid .commit-id,.dark-theme .post-warp .post-content .mermaid .commit-msg,.dark-theme .post-warp .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .post-warp .post-content .mermaid .pieTitleText{text-anchor:middle;font-size:25px;fill:#323d47;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .post-warp .post-content .mermaid .slice{font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .post-warp .post-content .mermaid g.stateGroup text{fill:purple;stroke:none;font-size:10px;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .post-warp .post-content .mermaid g.stateGroup text{fill:purple;stroke:none;font-size:10px}.dark-theme .post-warp .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.dark-theme .post-warp .post-content .mermaid g.stateGroup rect{fill:#bdd5ea;stroke:purple}.dark-theme .post-warp .post-content .mermaid g.stateGroup line{stroke:purple;stroke-width:1}.dark-theme .post-warp .post-content .mermaid .transition{stroke:purple;stroke-width:1;fill:none}.dark-theme .post-warp .post-content .mermaid .stateGroup .composit{fill:#fff;border-bottom:1px}.dark-theme .post-warp .post-content .mermaid .state-note{stroke:rgba(255,255,255,.25);fill:#fff5ad}.dark-theme .post-warp .post-content .mermaid .state-note text{fill:#000;stroke:none;font-size:10px}.dark-theme .post-warp .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#bdd5ea;opacity:.5}.dark-theme .post-warp .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:700;font-family:trebuchet ms,verdana,arial;font-family:var(--mermaid-font-family)}.dark-theme .post-warp .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.post-warp .post-content .echarts{width:100%;height:30rem;margin:3% auto;text-align:center}.post-warp .post-content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto}.post-warp .post-content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.post-warp .post-content hr{margin:1rem 0;position:relative;border-top:1px dashed #dcdcdc;border-bottom:none}.dark-theme .post-warp .post-content hr{border-top:1px dashed #4a4b50}.post-warp .post-content kbd{display:inline-block;padding:.25em;background-color:#fff;border:1px solid #dcdcdc;border-bottom-color:#dcdcdc;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 #dcdcdc;box-shadow:inset 0 -1px 0 #dcdcdc;font-size:.8em;line-height:1.25rem;font-family:Consolas,Monaco,Menlo,dejavu sans mono,bitstream vera sans mono,courier new,monospace;color:#e74c3c}.dark-theme .post-warp .post-content kbd{background-color:#292a2d;border:1px solid #4a4b50;border-bottom-color:#4a4b50;-webkit-box-shadow:inset 0 -1px 0 #4a4b50;box-shadow:inset 0 -1px 0 #4a4b50;color:#e5bf78}.post-warp .post-content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Consolas,Monaco,Menlo,Consolas,monospace;font-weight:700;word-break:break-all}.post-warp .post-content .typeit .code .k{color:#d371e3}.post-warp .post-content .typeit .code .kt{color:#d371e3}.post-warp .post-content .typeit .code .kc{color:#d371e3}.post-warp .post-content .typeit .code .o{color:#d371e3}.post-warp .post-content .typeit .code .nf{color:#f16473}.post-warp .post-content .typeit .code .na{color:#41b1f5}.post-warp .post-content .typeit .code .s{color:#8bc56f}.post-warp .post-content .typeit .code .n{color:#db975c}.post-warp .post-content .typeit .code .c1{color:#7e848f}.post-warp .post-content .align-left{text-align:left}.post-warp .post-content .align-center{text-align:center}.post-warp .post-content .align-right{text-align:right}.post-warp .post-content .float-left{float:left}.post-warp .post-content .float-right{float:right}.post-warp .post-footer{margin-top:3rem}.post-warp .post-footer .post-info{border-bottom:1px solid #dcdcdc;padding:1rem 0 .3rem}.dark-theme .post-warp .post-footer .post-info{border-bottom:1px solid #4a4b50}.post-warp .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.post-warp .post-footer .post-info .post-info-line .post-info-mod{font-size:.8em;color:#a9a9b3}.dark-theme .post-warp .post-footer .post-info .post-info-line .post-info-mod{color:#87878d}.post-warp .post-footer .post-info .post-info-line .post-info-license{font-size:.8em;color:#a9a9b3}.dark-theme .post-warp .post-footer .post-info .post-info-line .post-info-license{color:#87878d}.post-warp .post-footer .post-info .post-info-line .post-info-md a{font-size:.8em;color:#2d96bd}.dark-theme .post-warp .post-footer .post-info .post-info-line .post-info-md a{color:#eee}.post-warp .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark-theme .post-warp .post-footer .post-info .post-info-line .post-info-md a:hover{color:#fff}.post-warp .post-footer .post-info-more{padding:.3rem 0 1rem;display:flex;justify-content:space-between;font-size:.9rem}.post-warp .post-footer .post-nav:before,.post-warp .post-footer .post-nav:after{content:" ";display:table}.post-warp .post-footer .post-nav a.prev,.post-warp .post-footer .post-nav a.next{font-weight:600;font-size:1rem;transition-property:transform;transition-timing-function:ease-out;transition-duration:.3s}.post-warp .post-footer .post-nav a.prev{float:left}.post-warp .post-footer .post-nav a.prev:hover{transform:translateX(-4px)}.post-warp .post-footer .post-nav a.next{float:right}.post-warp .post-footer .post-nav a.next:hover{transform:translateX(4px)}.post-warp .post-comment{padding:3rem 0}.post-warp .home-intro{transform:translateY(0);padding:2rem 0}.post-warp .home-intro .home-avatar img{width:6rem}.post-warp .post{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #dcdcdc}.dark-theme .post-warp .post{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.post-warp .post .post-featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin-bottom:1rem}.post-warp .post .post-featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.post-warp .post .post-list-title{font-size:1.6rem}.post-warp .post .post-meta{font-size:.875rem!important}.post-warp .post .post-meta a{color:#a9a9b3!important}.dark-theme .post-warp .post .post-meta a{color:#87878d!important}.post-warp .post .post-meta a:hover{color:#2d96bd!important}.dark-theme .post-warp .post .post-meta a:hover{color:#fff!important}.post-warp .post .post-content{padding-top:.2rem;font-size:.9rem;width:100%;max-height:7rem;overflow:hidden}.post-warp .post .post-content h2,.post-warp .post .post-content h3,.post-warp .post .post-content h4,.post-warp .post .post-content h5,.post-warp .post .post-content h6{font-size:1rem;line-height:1rem;padding-top:.3rem;padding-bottom:.3rem}.post-warp .post .post-content p{margin:0;padding-top:.3rem;padding-bottom:.3rem}.post-warp .post .post-footer{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem!important}.post-warp .post .post-footer a{color:#2d96bd!important}.dark-theme .post-warp .post .post-footer a{color:#eee!important}.post-warp .post .post-footer a:hover{color:#ef3982!important}.dark-theme .post-warp .post .post-footer a:hover{color:#fff!important}.post-warp .post .post-footer .post-tags{padding:0}.post-warp .post .post-footer .post-tags a{color:#161209!important}.dark-theme .post-warp .post .post-footer .post-tags a{color:#a9a9b3!important}.post-warp .post .post-footer .post-tags a:hover{color:#2d96bd!important}.dark-theme .post-warp .post .post-footer .post-tags a:hover{color:#fff!important}.archive .post-title{text-align:right;padding-bottom:2rem}.archive .archive-item{margin-left:2rem}.archive .categories-card{margin:0 auto;margin-top:3rem;display:flex;align-items:center;justify-content:space-between;flex-direction:row;flex-wrap:wrap;padding:0 2.5rem;line-height:1.6rem}.archive .categories-card .card-item{font-size:.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;margin-top:2rem;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item .categories{width:100%;overflow:hidden}.archive .archive-item-link{display:inline-block;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:95%}.archive .archive-item-link:hover{color:#2d96bd;background-color:transparent}.dark-theme .archive .archive-item-link{color:#a9a9b3;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease}.dark-theme .archive .archive-item-link:hover{color:#fff;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease}.archive .archive-item-date{float:right;text-align:right;color:#a9a9b3}.dark-theme .archive .archive-item-date{color:#87878d}.archive .more-post{text-align:right}.archive .categories h3{display:inline-block}.archive .categories span{float:right;padding-right:1rem}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{color:#2d96bd;transform:scale(1.1)}.dark-theme .archive .tag-cloud-tags a:active,.dark-theme .archive .tag-cloud-tags a:focus,.dark-theme .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a small{color:#a9a9b3}.dark-theme .archive .tag-cloud-tags a small{color:#fff}.single .post-title{text-align:right;padding-bottom:2rem}.navbar{display:block;position:fixed;width:100%;z-index:100;height:4rem;line-height:4rem;background-color:#fafafa}.dark-theme .navbar{background-color:#252627}.navbar .navbar-container{width:auto;text-align:center;margin:0 6rem;display:flex;justify-content:space-between}.navbar .navbar-container .navbar-header a{padding:0 8px;font-size:20px}.navbar .navbar-container .navbar-header a i{line-height:2em}.navbar .navbar-container .navbar-menu a{padding:0 8px}.navbar .navbar-container .navbar-menu a.active{font-weight:900;color:#161209}.dark-theme .navbar .navbar-container .navbar-menu a.active{color:#fff}.navbar-mobile{display:none;position:fixed;width:100%;z-index:100;transition:all .3s ease 0s}.navbar-mobile .navbar-container{padding:0;margin:0;height:4.5em;line-height:4.5em;background:#fff}.navbar-mobile .navbar-container .navbar-header{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:18px;padding-right:1em;padding-left:1em;box-sizing:border-box}.navbar-mobile .navbar-container .navbar-header .navbar-header-title{font-size:20px}.navbar-mobile .navbar-container .navbar-header .menu-toggle{cursor:pointer;line-height:4.5em}.navbar-mobile .navbar-container .navbar-header .menu-toggle span{display:block;background:#000;width:24px;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:.2s margin .2s,.2s transform;-moz-transition:.2s margin .2s,.2s transform;transition:.2s margin .2s,.2s transform}.dark-theme .navbar-mobile .navbar-container .navbar-header .menu-toggle span{background:#a9a9b3}.navbar-mobile .navbar-container .navbar-header .menu-toggle span:nth-child(1){margin-bottom:8px}.navbar-mobile .navbar-container .navbar-header .menu-toggle span:nth-child(3){margin-top:8px}.navbar-mobile .navbar-container .navbar-header .menu-toggle.active span{-webkit-transition:.2s margin,.2s transform .2s;-moz-transition:.2s margin,.2s transform .2s;transition:.2s margin,.2s transform .2s}.navbar-mobile .navbar-container .navbar-header .menu-toggle.active span:nth-child(1){-moz-transform:rotate(45deg) translate(4px,6px);-ms-transform:rotate(45deg) translate(4px,6px);-webkit-transform:rotate(45deg) translate(4px,6px);transform:rotate(45deg) translate(4px,6px)}.navbar-mobile .navbar-container .navbar-header .menu-toggle.active span:nth-child(2){opacity:0}.navbar-mobile .navbar-container .navbar-header .menu-toggle.active span:nth-child(3){-moz-transform:rotate(-45deg) translate(8px,-10px);-ms-transform:rotate(-45deg) translate(8px,-10px);-webkit-transform:rotate(-45deg) translate(8px,-10px);transform:rotate(-45deg) translate(8px,-10px)}.navbar-mobile .navbar-container .navbar-menu{text-align:center;background:#fff;border-top:2px solid #161209;display:none;box-shadow:0 2px 4px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.1)}.navbar-mobile .navbar-container .navbar-menu a{display:block;line-height:2.5em}.navbar-mobile .navbar-container .navbar-menu.active{display:block}.dark-theme .navbar-mobile .navbar-container .navbar-menu{background:#292a2d;border-top:2px solid #a9a9b3}.dark-theme .navbar-mobile .navbar-container{background:#292a2d}.copyright{font-size:.875rem}.copyright .copyright-line{width:100%}.dynamic-to-top{display:none;overflow:hidden;width:auto;z-index:90;position:fixed;bottom:2rem;right:2rem;top:auto;left:auto;font-family:sans-serif;font-size:1rem;color:#fff;text-decoration:none;text-shadow:0 1px 0 #333;font-weight:700;padding:1rem;border:1px solid #dcdcdc;background:#222;outline:none}.dynamic-to-top:hover{background:#000;cursor:pointer}.dynamic-to-top:active{background:#000;outline:none}.dynamic-to-top:focus,.dynamic-to-top:hover{outline:none}.dynamic-to-top span{display:block;overflow:hidden;width:.875rem;height:.75rem;background:url(data:image/png;base64, ) no-repeat 50%}.dark-theme .dynamic-to-top{border:1px solid #4a4b50}.pagination{display:flex;flex-direction:row;justify-content:center;list-style:none;white-space:nowrap;width:100%;padding-top:1rem}.pagination a{-webkit-font-smoothing:antialiased;font-size:.8rem;color:#bfbfbf;letter-spacing:.1rem;font-weight:700;padding:5px;text-decoration:none;transition:.3s}.pagination li{padding-bottom:3px;margin:0 20px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}.dark-theme .pagination li:hover a{color:#fff}.pagination li:before,.pagination li:after{position:absolute;content:"";width:0;height:3px;background:#000;transition:.3s;bottom:0}.dark-theme .pagination li:before,.dark-theme .pagination li:after{background:#fff}.pagination li:before .active,.pagination li:after .active{width:100%}.pagination li:before{left:50%}.pagination li:after{right:50%}.pagination li:hover:before,.pagination li:hover:after{width:50%}.pagination li.active a{color:#000}.dark-theme .pagination li.active a{color:#fff}.pagination li.active:before,.pagination li.active:after{width:60%}@media only screen and (max-width:1800px){.post-warp{max-width:780px}.post-warp .post-toc{margin-left:800px}}@media only screen and (max-width:1300px){.post-warp{max-width:560px}.post-warp .post-toc{margin-left:580px}}@media only screen and (max-width:1080px){.navbar .navbar-container{margin:0 2rem}.post-warp{max-width:80%}.post-warp .post-toc{display:none}.post-warp .post-toc-mobile{display:block}}@media only screen and (max-width:480px){.navbar{display:none}.navbar-mobile{display:block}.post-warp{max-width:100%}.post-warp .categories-card .card-item{width:95%}.dynamic-to-top{display:none!important}}