From 917cf4a42754372aa8b1a9b10d12d07be6307e94 Mon Sep 17 00:00:00 2001 From: Dillon Date: Thu, 13 Feb 2020 13:30:58 +0800 Subject: [PATCH 1/5] fix(link): fix long words and URLs style bug --- assets/css/_core/_base.scss | 2 + assets/css/_page/_index.scss | 12 +- assets/css/_page/_post.scss | 699 +++++++++--------- assets/css/_page/_posts.scss | 52 +- assets/css/_page/_tags.scss | 2 +- assets/css/_partial/_post/_toc.scss | 2 +- layouts/_default/summary.html | 4 +- layouts/index.html | 2 +- layouts/posts/single.html | 2 +- ...s_a707772b4d98a91469dad78dcf3d2e9a.content | 2 +- ...s_d75fd08668b4bae707167bbce4d8ca46.content | 2 +- 11 files changed, 397 insertions(+), 384 deletions(-) diff --git a/assets/css/_core/_base.scss b/assets/css/_core/_base.scss index 57b4b2b..395d18d 100644 --- a/assets/css/_core/_base.scss +++ b/assets/css/_core/_base.scss @@ -30,6 +30,7 @@ body { line-height: 1.5rem; background-color: $global-background-color; color: $global-font-color; + overflow-wrap: break-word; &::before { content: ""; @@ -59,6 +60,7 @@ body { a { color: $global-link-color; text-decoration: none; + word-break: break-all; transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease; &:hover { diff --git a/assets/css/_page/_index.scss b/assets/css/_page/_index.scss index 405a90a..58aa9d5 100644 --- a/assets/css/_page/_index.scss +++ b/assets/css/_page/_index.scss @@ -1,17 +1,17 @@ -@import "_home"; -@import "_404"; - .page { position: relative; width: 100%; max-width: 980px; margin: 0 auto; padding-top: 6rem; - - @import "_post"; - @import "_posts"; } +@import "_home"; +@import "_404"; + +@import "_post"; +@import "_posts"; + .archive { .post-title { text-align: right; diff --git a/assets/css/_page/_post.scss b/assets/css/_page/_post.scss index 34d1fd1..82b3357 100644 --- a/assets/css/_page/_post.scss +++ b/assets/css/_page/_post.scss @@ -1,376 +1,377 @@ /** Post **/ -.post-title { - margin: 0 !important; - font-size: 1.8rem; - line-height: 3rem; -} - -.post-meta { - font-size: .88rem; - color: $global-font-secondary-color; - - span { - display: inline-block; +.post { + .post-title { + margin: 0; + font-size: 1.8rem; + line-height: 3rem; } - .dark-theme & { - color: $global-font-secondary-color-dark; - } - - a { - color: $post-link-color; - - .dark-theme & { - color: $post-link-color-dark; - } - - &:hover { - color: $post-link-hover-color; - - .dark-theme & { - color: $post-link-hover-color-dark; - } - } - } - - .author { - font-size: 1.05rem; - } -} - -.post-featured-image { - padding-top: .6rem; - - img { - display: block; - max-width: 100%; - height: auto; - margin: 0 auto; - overflow: hidden; - } -} - -@import "../_partial/_post/toc"; - -.post-content { - .post-dummy-target:target { - display: inline-block; - position: relative; - top: -5.6rem; - visibility: hidden; - } - - h1, - h2, - h3, - h4, - h5, - h6 { - font-weight: bold; - - .dark-theme & { - font-weight: bolder; - } - } - - h2, - h3, - h4, - h5, - h6 { - padding-top: .8rem; - padding-bottom: .3rem; - } - - h2::before { - content: "#"; - margin-right: .3125rem; - color: $post-link-color; - - .dark-theme & { - color: $post-link-color-dark; - } - } - - h3::before, - h4::before, - h5::before, - h6::before { - content: "|"; - margin-right: .3125rem; - color: $post-link-color; - - .dark-theme & { - color: $post-link-color-dark; - } - } - - p { - font-size: 1rem; - margin: .5rem 0; - } - - a { - color: $post-link-color; - - .dark-theme & { - color: $post-link-color-dark; - } - } - - a:hover { - color: $post-link-hover-color; - - .dark-theme &:hover { - color: $post-link-hover-color-dark; - font-weight: bold; - } - } - - ul { - padding-left: 2rem; - list-style-type: disc; - } - - ruby { - background: $code-background-color; - - rt { - color: $global-font-secondary-color; - } - - .dark-theme & { - background: $code-background-color-dark; - - rt { - color: $global-font-secondary-color-dark; - } - } - } - - .table-wrapper { - overflow-x: auto; - - &::-webkit-scrollbar { - background-color: $table-background-color; - - .dark-theme & { - background-color: $table-background-color-dark; - } - } - - > table { - width: 100%; - max-width: 100%; - margin: .625rem 0; - border-spacing: 0; - background: $table-background-color; - - .dark-theme & { - background: $table-background-color-dark; - } - - thead { - background: $table-thead-color; - - .dark-theme & { - background-color: $table-thead-color-dark; - } - } - - th, td { - padding: .3rem 1rem; - border: 1px double $global-border-color; - - .dark-theme & { - border: 1px double $global-border-color-dark; - } - } - } - } - - figure { - text-align: center; - } - - .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; - } - - img { - display: block; - max-width: 100%; - height: auto; - margin: 0 auto; - overflow: hidden; - } - - blockquote { - font-size: 1rem; - display: block; - border-width: 1px 0; - border-style: solid; - border-color: $global-border-color; - padding: 1.5em 1.2em 0.5em 1.2em; - margin: 0 0 2em 0; - position: relative; - - &::before { - content: '\201C'; - position: absolute; - top: 0em; - left: 50%; - transform: translate(-50%, -50%); - width: 3rem; - height: 2rem; - font: 6em/1.08em 'PT Sans', sans-serif; - color: $post-link-color; - text-align: center; - - .dark-theme & { - color: $post-link-color-dark; - } - } - - &::after { - content: '#blockquote' attr(cite); - display: block; - text-align: right; - font-size: 0.875em; - color: $post-link-color; - - .dark-theme & { - color: $post-link-color-dark; - } - } - - .dark-theme & { - border-color: $global-border-color-dark; - } - } - - .footnotes { + .post-meta { + font-size: .88rem; color: $global-font-secondary-color; + span { + display: inline-block; + } + .dark-theme & { color: $global-font-secondary-color-dark; } - } - @import "../_partial/_post/code"; - @import "../_partial/_post/admonition"; + a { + color: $post-link-color; - .mermaid { - width: 100%; - margin: 3% auto; - text-align: center; + .dark-theme & { + color: $post-link-color-dark; + } - @import "../_mermaid/neutral/index"; + &:hover { + color: $post-link-hover-color; - .dark-theme & { - @import "../_mermaid/dark/index"; + .dark-theme & { + color: $post-link-hover-color-dark; + } + } + } + + .author { + font-size: 1.05rem; } } - @import "../_aplayer/dark.scss"; + .post-featured-image { + padding-top: .6rem; - .echarts { - width: 100%; - height: 30rem; - margin: 3% auto; - text-align: center; - } - - .bilibili { - position: relative; - width: 100%; - height: 0; - padding-bottom: 75%; - margin: 3% auto; - text-align: center; - - iframe { - position: absolute; - width: 100%; - height: 100%; - left: 0; - top: 0; + img { + display: block; + max-width: 100%; + height: auto; + margin: 0 auto; + overflow: hidden; } } - hr { - margin: 1rem 0; - position: relative; - border-top: 1px dashed $global-border-color; - border-bottom: none; + @import "../_partial/_post/toc"; - .dark-theme & { - border-top: 1px dashed $global-border-color-dark; + .post-content { + .post-dummy-target:target { + display: inline-block; + position: relative; + top: -5.6rem; + visibility: hidden; } - } - kbd { - display: inline-block; - padding: .25rem; - background-color: $global-background-color; - border: 1px solid $global-border-color; - border-bottom-color: $global-border-color; - border-radius: 3px; - -webkit-box-shadow: inset 0 -1px 0 $global-border-color; - box-shadow: inset 0 -1px 0 $global-border-color; - font-size: .8rem; - font-family: $code-font-family; - color: $code-color; - - .dark-theme & { - background-color: $global-background-color-dark; - border: 1px solid $global-border-color-dark; - border-bottom-color: $global-border-color-dark; - -webkit-box-shadow: inset 0 -1px 0 $global-border-color-dark; - box-shadow: inset 0 -1px 0 $global-border-color-dark; - color: $code-color-dark; - } - } - - .typeit { - .code { - padding: .375rem; - font-size: .875rem; - font-family: $code-font-family; + h1, + h2, + h3, + h4, + h5, + h6 { font-weight: bold; - word-break: break-all; + + .dark-theme & { + font-weight: bolder; + } + } + + h2, + h3, + h4, + h5, + h6 { + padding-top: .8rem; + padding-bottom: .3rem; + } + + h2::before { + content: "#"; + margin-right: .3125rem; + color: $post-link-color; + + .dark-theme & { + color: $post-link-color-dark; + } + } + + h3::before, + h4::before, + h5::before, + h6::before { + content: "|"; + margin-right: .3125rem; + color: $post-link-color; + + .dark-theme & { + color: $post-link-color-dark; + } + } + + p { + font-size: 1rem; + margin: .5rem 0; + } + + a { + color: $post-link-color; + + .dark-theme & { + color: $post-link-color-dark; + } + } + + a:hover { + color: $post-link-hover-color; + + .dark-theme &:hover { + color: $post-link-hover-color-dark; + font-weight: bold; + } + } + + ul { + padding-left: 2rem; + list-style-type: disc; + } + + ruby { + background: $code-background-color; + + rt { + color: $global-font-secondary-color; + } + + .dark-theme & { + background: $code-background-color-dark; + + rt { + color: $global-font-secondary-color-dark; + } + } + } + + .table-wrapper { + overflow-x: auto; + + &::-webkit-scrollbar { + background-color: $table-background-color; + + .dark-theme & { + background-color: $table-background-color-dark; + } + } + + > table { + width: 100%; + max-width: 100%; + margin: .625rem 0; + border-spacing: 0; + background: $table-background-color; + + .dark-theme & { + background: $table-background-color-dark; + } + + thead { + background: $table-thead-color; + + .dark-theme & { + background-color: $table-thead-color-dark; + } + } + + th, td { + padding: .3rem 1rem; + border: 1px double $global-border-color; + + .dark-theme & { + border: 1px double $global-border-color-dark; + } + } + } + } + + figure { + text-align: center; + } + + .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; + } + + img { + display: block; + max-width: 100%; + height: auto; + margin: 0 auto; + overflow: hidden; + } + + blockquote { + font-size: 1rem; + display: block; + border-width: 1px 0; + border-style: solid; + border-color: $global-border-color; + padding: 1.5em 1.2em 0.5em 1.2em; + margin: 0 0 2em 0; + position: relative; + + &::before { + content: '\201C'; + position: absolute; + top: 0em; + left: 50%; + transform: translate(-50%, -50%); + width: 3rem; + height: 2rem; + font: 6em/1.08em 'PT Sans', sans-serif; + color: $post-link-color; + text-align: center; + + .dark-theme & { + color: $post-link-color-dark; + } + } + + &::after { + content: '#blockquote' attr(cite); + display: block; + text-align: right; + font-size: 0.875em; + color: $post-link-color; + + .dark-theme & { + color: $post-link-color-dark; + } + } + + .dark-theme & { + border-color: $global-border-color-dark; + } + } + + .footnotes { + color: $global-font-secondary-color; + + .dark-theme & { + color: $global-font-secondary-color-dark; + } + } + + @import "../_partial/_post/code"; + @import "../_partial/_post/admonition"; + + .mermaid { + width: 100%; + margin: 3% auto; + text-align: center; + + @import "../_mermaid/neutral/index"; + + .dark-theme & { + @import "../_mermaid/dark/index"; + } + } + + @import "../_aplayer/dark.scss"; + + .echarts { + width: 100%; + height: 30rem; + margin: 3% auto; + text-align: center; + } + + .bilibili { + position: relative; + width: 100%; + height: 0; + padding-bottom: 75%; + margin: 3% auto; + text-align: center; + + iframe { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + } + } + + hr { + margin: 1rem 0; + position: relative; + border-top: 1px dashed $global-border-color; + border-bottom: none; + + .dark-theme & { + border-top: 1px dashed $global-border-color-dark; + } + } + + kbd { + display: inline-block; + padding: .25rem; + background-color: $global-background-color; + border: 1px solid $global-border-color; + border-bottom-color: $global-border-color; + border-radius: 3px; + -webkit-box-shadow: inset 0 -1px 0 $global-border-color; + box-shadow: inset 0 -1px 0 $global-border-color; + font-size: .8rem; + font-family: $code-font-family; + color: $code-color; + + .dark-theme & { + background-color: $global-background-color-dark; + border: 1px solid $global-border-color-dark; + border-bottom-color: $global-border-color-dark; + -webkit-box-shadow: inset 0 -1px 0 $global-border-color-dark; + box-shadow: inset 0 -1px 0 $global-border-color-dark; + color: $code-color-dark; + } + } + + .typeit { + .code { + padding: .375rem; + font-size: .875rem; + font-family: $code-font-family; + font-weight: bold; + word-break: break-all; + } + } + + .align-left { + text-align: left; + } + + .align-center { + text-align: center; + } + + .align-right { + text-align: right; + } + + .float-left { + float: left; + } + + .float-right { + float: right; } } - .align-left { - text-align: left; - } - - .align-center { - text-align: center; - } - - .align-right { - text-align: right; - } - - .float-left { - float: left; - } - - .float-right { - float: right; - } + @import "../_partial/_post/footer"; + @import "../_partial/_post/comment"; } - -@import "../_partial/_post/footer"; - -@import "../_partial/_post/comment"; diff --git a/assets/css/_page/_posts.scss b/assets/css/_page/_posts.scss index 003beae..b81aea2 100644 --- a/assets/css/_page/_posts.scss +++ b/assets/css/_page/_posts.scss @@ -9,7 +9,7 @@ } } -.post { +.summary { padding-top: 1rem; padding-bottom: .8rem; color: $global-font-color; @@ -36,7 +36,7 @@ } } - .post-list-title { + .post-title { font-size: 1.6rem; } @@ -60,33 +60,43 @@ } .post-content { + display: -moz-box; display: -webkit-box; + -moz-box-orient: vertical; + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; margin-top: .3rem; width: 100%; - max-height: 10rem; + overflow: hidden; text-overflow: ellipsis; - -webkit-box-orient: vertical; - -webkit-line-clamp: 2; + overflow-wrap: break-word; + } - h2, - h3, - h4, - h5, - h6, - p { - font-size: 1rem; - margin: 0; - padding: .2rem 0; - overflow: hidden; - overflow-wrap: break-word; - text-overflow: ellipsis; - } + h1, + h2, + h3, + h4, + h5, + h6, + p { + font-size: 1rem; + display: inline; - a { - word-break: break-all; + &::after { + content: "\A"; + white-space: pre; } } + h1, + h2, + h3, + h4, + h5, + h6 { + line-height: 2; + } + .post-footer { margin-top: .5rem; display: flex; @@ -130,4 +140,4 @@ } } } -} \ No newline at end of file +} diff --git a/assets/css/_page/_tags.scss b/assets/css/_page/_tags.scss index 9e466ea..05f352c 100644 --- a/assets/css/_page/_tags.scss +++ b/assets/css/_page/_tags.scss @@ -5,7 +5,7 @@ display: inline-block; position: relative; margin: 5px 10px; - word-wrap: break-word; + overflow-wrap: break-word; transition-duration: .3s; transition-property: transform; transition-timing-function: ease-out; diff --git a/assets/css/_partial/_post/_toc.scss b/assets/css/_partial/_post/_toc.scss index 5a132fa..c6070e3 100644 --- a/assets/css/_partial/_post/_toc.scss +++ b/assets/css/_partial/_post/_toc.scss @@ -5,7 +5,7 @@ margin-left: 1000px; padding: 0 .8rem; border-left: 1px solid $global-border-color; - word-wrap: break-word; + overflow-wrap: break-word; box-sizing: border-box; top: 12rem; diff --git a/layouts/_default/summary.html b/layouts/_default/summary.html index 32c0a8c..df07d64 100644 --- a/layouts/_default/summary.html +++ b/layouts/_default/summary.html @@ -1,4 +1,4 @@ -
+
{{- /* Featured image */ -}} {{- with .Params.featured_image -}}
@@ -8,7 +8,7 @@ {{- end -}} {{- /* Title */ -}} -

+

{{ .Title }}

diff --git a/layouts/index.html b/layouts/index.html index 16580ea..0b72e0c 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -1,7 +1,7 @@ {{- define "content" -}} {{- /* Home mode [post] */ -}} {{- if eq .Site.Params.home_mode "post" -}} -
+
{{- /* Profile */ -}} {{- partial "home/profile.html" . -}} diff --git a/layouts/posts/single.html b/layouts/posts/single.html index 05986f7..39b9c84 100644 --- a/layouts/posts/single.html +++ b/layouts/posts/single.html @@ -1,7 +1,7 @@ {{- define "title" }}{{ .Title }} | {{ .Site.Title }}{{ end -}} {{- define "content" -}} -
+
{{- /* Title */ -}}

{{ .Title }}

diff --git a/resources/_gen/assets/scss/css/custom-style.scss_a707772b4d98a91469dad78dcf3d2e9a.content b/resources/_gen/assets/scss/css/custom-style.scss_a707772b4d98a91469dad78dcf3d2e9a.content index 9ad98b5..86cf15b 100644 --- a/resources/_gen/assets/scss/css/custom-style.scss_a707772b4d98a91469dad78dcf3d2e9a.content +++ b/resources/_gen/assets/scss/css/custom-style.scss_a707772b4d98a91469dad78dcf3d2e9a.content @@ -1,3 +1,3 @@ -@import url(https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900);@import url("https://fonts.googleapis.com/css?family=Fira+Mono:400,700&display=swap&subset=latin-ext");/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */@import url(https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900);@import url("https://fonts.googleapis.com/css?family=Fira+Mono:400,700&display=swap&subset=latin-ext");html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.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:-0.25em}sup{top:-0.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:0.35em 0.75em 0.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,PingFang SC,Microsoft Yahei,Segoe UI,Helvetica,Arial,sans-serif,Segoe UI Emoji}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background:rgba(38,139,211,0.2)}.dark-theme ::selection{background:rgba(38,139,211,0.3)}body{font-size:16px;font-weight:400;line-height:1.5rem;background-color:#fff;color:#161209}body::before{content:"";background-repeat:no-repeat;background-position:center;opacity:0.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 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.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:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}.home-intro{transform:translateY(25vh);text-align:center}.home-intro .home-avatar{padding:0.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 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);margin:0 auto;-webkit-transition:all ease 0.4s;-moz-transition:all ease 0.4s;-o-transition:all ease 0.4s;transition:all ease 0.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:normal;margin:0;padding:.4rem}.home-intro .home-social-links{padding-top:.6rem}.home-intro .home-social-links i{font-size:1.45rem}.home-intro .home-social-links img{width:1.5rem;height:1.5rem}.notfound{font-size:1.8rem;line-height:3rem;transform:translateY(30vh);text-align:center}.page{position:relative;width:100%;max-width:980px;margin:0 auto;padding-top:6rem}.page .post-title{margin:0 !important;font-size:1.8rem;line-height:3rem}.page .post-meta{font-size:.88rem;color:#a9a9b3}.page .post-meta span{display:inline-block}.dark-theme .page .post-meta{color:#5d5d5f}.page .post-meta a{color:#2d96bd}.dark-theme .page .post-meta a{color:#eee}.page .post-meta a:hover{color:#ef3982}.dark-theme .page .post-meta a:hover{color:#2d96bd}.page .post-meta .author{font-size:1.05rem}.page .post-featured-image{padding-top:.6rem}.page .post-featured-image img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.page .post-toc{display:block;position:absolute;width:360px;margin-left:1000px;padding:0 .8rem;border-left:1px solid #dcdcdc;word-wrap:break-word;box-sizing:border-box;top:12rem}.dark-theme .page .post-toc{border-left:1px solid #4a4b50}.page .post-toc .post-toc-title{font-weight:400;margin:.8rem 0;text-transform:uppercase}.page .post-toc .post-toc-content.always-active ul{display:block}.page .post-toc .post-toc-content>nav>ul{margin:.625rem 0}.page .post-toc .post-toc-content ul{text-indent:-0.85rem;padding-left:.625rem;list-style:none}.page .post-toc .post-toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark-theme .page .post-toc .post-toc-content ul a::before{color:#eee}.page .post-toc .post-toc-content ul ul{padding-left:1.25rem;display:none}.page .post-toc .post-toc-content ul .has-active>ul{display:block}.page .post-toc .post-toc-content .toc-link.active{font-weight:bold;color:#ef3982}.dark-theme .page .post-toc .post-toc-content .toc-link.active{color:#2d96bd}.page .post-toc .post-toc-content .toc-link.active::before{font-weight:bolder;color:#ef3982}.dark-theme .page .post-toc .post-toc-content .toc-link.active::before{color:#2d96bd}.page .post-toc-mobile{display:none;padding-top:.8rem}.page .post-toc-mobile details summary .post-toc-title{display:block;display:flex;justify-content:space-between;font-size:1.2em;font-weight:bold;line-height:2em;padding:0 .625rem;background:#f5f5f5}.page .post-toc-mobile details summary .post-toc-title i.details{line-height:2em}.dark-theme .page .post-toc-mobile details summary .post-toc-title{background:#272C34}.page .post-toc-mobile details summary::-webkit-details-marker{display:none}.page .post-toc-mobile details[open] i.details{transform:rotate(180deg)}.page .post-toc-mobile .post-toc-content{border:2px solid #f5f5f5}.page .post-toc-mobile .post-toc-content>nav>ul{margin:.625rem 0}.page .post-toc-mobile .post-toc-content ul{padding-left:.625rem;list-style:none}.page .post-toc-mobile .post-toc-content ul ul{padding-left:1.25rem}.dark-theme .page .post-toc-mobile .post-toc-content{border:2px solid #272C34}.page .post-content .post-dummy-target:target{display:inline-block;position:relative;top:-5.6rem;visibility:hidden}.page .post-content h1,.page .post-content h2,.page .post-content h3,.page .post-content h4,.page .post-content h5,.page .post-content h6{font-weight:bold}.dark-theme .page .post-content h1,.dark-theme .page .post-content h2,.dark-theme .page .post-content h3,.dark-theme .page .post-content h4,.dark-theme .page .post-content h5,.dark-theme .page .post-content h6{font-weight:bolder}.page .post-content h2,.page .post-content h3,.page .post-content h4,.page .post-content h5,.page .post-content h6{padding-top:.8rem;padding-bottom:.3rem}.page .post-content h2::before{content:"#";margin-right:.3125rem;color:#2d96bd}.dark-theme .page .post-content h2::before{color:#eee}.page .post-content h3::before,.page .post-content h4::before,.page .post-content h5::before,.page .post-content h6::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark-theme .page .post-content h3::before,.dark-theme .page .post-content h4::before,.dark-theme .page .post-content h5::before,.dark-theme .page .post-content h6::before{color:#eee}.page .post-content p{font-size:1rem;margin:.5rem 0}.page .post-content a{color:#2d96bd}.dark-theme .page .post-content a{color:#eee}.page .post-content a:hover{color:#ef3982}.dark-theme .page .post-content a:hover:hover{color:#2d96bd;font-weight:bold}.page .post-content ul{padding-left:2rem;list-style-type:disc}.page .post-content ruby{background:#f5f5f5}.page .post-content ruby rt{color:#a9a9b3}.dark-theme .page .post-content ruby{background:#272C34}.dark-theme .page .post-content ruby rt{color:#5d5d5f}.page .post-content .table-wrapper{overflow-x:auto}.page .post-content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark-theme .page .post-content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.page .post-content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff}.dark-theme .page .post-content .table-wrapper>table{background:#272c34}.page .post-content .table-wrapper>table thead{background:#ededed}.dark-theme .page .post-content .table-wrapper>table thead{background-color:#20252b}.page .post-content .table-wrapper>table th,.page .post-content .table-wrapper>table td{padding:.3rem 1rem;border:1px double #dcdcdc}.dark-theme .page .post-content .table-wrapper>table th,.dark-theme .page .post-content .table-wrapper>table td{border:1px double #4a4b50}.page .post-content figure{text-align:center}.page .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}.page .post-content img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.page .post-content blockquote{font-size:1rem;display:block;border-width:1px 0;border-style:solid;border-color:#dcdcdc;padding:1.5em 1.2em 0.5em 1.2em;margin:0 0 2em 0;position:relative}.page .post-content blockquote::before{content:'\201C';position:absolute;top:0em;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 .page .post-content blockquote::before{color:#eee}.page .post-content blockquote::after{content:"#blockquote" attr(cite);display:block;text-align:right;font-size:0.875em;color:#2d96bd}.dark-theme .page .post-content blockquote::after{color:#eee}.dark-theme .page .post-content blockquote{border-color:#4a4b50}.page .post-content .footnotes{color:#a9a9b3}.dark-theme .page .post-content .footnotes{color:#5d5d5f}.page .post-content code{font-size:13px;font-family:Fira Mono,Source Code Pro,Menlo,Consolas,Monaco,monospace;padding:.2rem .4rem;color:#E74C3C}.dark-theme .page .post-content code{color:#E5BF78}.page .post-content code,.page .post-content pre,.page .post-content .highlight table,.page .post-content .highlight tr,.page .post-content .highlight td{background:#f5f5f5}.dark-theme .page .post-content code,.dark-theme .page .post-content pre,.dark-theme .page .post-content .highlight table,.dark-theme .page .post-content .highlight tr,.dark-theme .page .post-content .highlight td{background:#272C34}.page .post-content .highlight>.chroma{margin:1rem 0;line-height:18px}.page .post-content .highlight>.chroma code,.page .post-content .highlight>.chroma pre{margin:0;padding:0}.page .post-content .highlight>.chroma::before{display:block;padding:.4rem;font-family:Lato,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft Yahei,Segoe UI,Helvetica,Arial,sans-serif,Segoe UI Emoji;font-size:13px;font-weight:bold;color:#b1b0b0;background:#ededed;content:'Code'}.dark-theme .page .post-content .highlight>.chroma::before{color:#b1b0b0;background:#20252b}.page .post-content .highlight>.chroma.language-bash::before{content:"Bash"}.page .post-content .highlight>.chroma.language-c::before{content:"C"}.page .post-content .highlight>.chroma.language-cs::before{content:"C#"}.page .post-content .highlight>.chroma.language-cpp::before{content:"C++"}.page .post-content .highlight>.chroma.language-clojure::before{content:"Clojure"}.page .post-content .highlight>.chroma.language-coffeescript::before{content:"CoffeeScript"}.page .post-content .highlight>.chroma.language-css::before{content:"CSS"}.page .post-content .highlight>.chroma.language-dart::before{content:"Dart"}.page .post-content .highlight>.chroma.language-diff::before{content:"Diff"}.page .post-content .highlight>.chroma.language-erlang::before{content:"Erlang"}.page .post-content .highlight>.chroma.language-go::before{content:"Go"}.page .post-content .highlight>.chroma.language-go-html-template::before{content:"Go HTML Template"}.page .post-content .highlight>.chroma.language-groovy::before{content:"Groovy"}.page .post-content .highlight>.chroma.language-haskell::before{content:"Haskell"}.page .post-content .highlight>.chroma.language-html::before{content:"HTML"}.page .post-content .highlight>.chroma.language-http::before{content:"HTTP"}.page .post-content .highlight>.chroma.language-xml::before{content:"XML"}.page .post-content .highlight>.chroma.language-java::before{content:"Java"}.page .post-content .highlight>.chroma.language-js::before{content:"JavaScript"}.page .post-content .highlight>.chroma.language-javascript::before{content:"JavaScript"}.page .post-content .highlight>.chroma.language-json::before{content:"JSON"}.page .post-content .highlight>.chroma.language-kotlin::before{content:"Kotlin"}.page .post-content .highlight>.chroma.language-latex::before{content:"LaTeX"}.page .post-content .highlight>.chroma.language-less::before{content:"Less"}.page .post-content .highlight>.chroma.language-lisp::before{content:"Lisp"}.page .post-content .highlight>.chroma.language-lua::before{content:"Lua"}.page .post-content .highlight>.chroma.language-makefile::before{content:"Makefile"}.page .post-content .highlight>.chroma.language-markdown::before{content:"Markdown"}.page .post-content .highlight>.chroma.language-matlab::before{content:"Matlab"}.page .post-content .highlight>.chroma.language-objectivec::before{content:"Objective-C"}.page .post-content .highlight>.chroma.language-php::before{content:"PHP"}.page .post-content .highlight>.chroma.language-perl::before{content:"Perl"}.page .post-content .highlight>.chroma.language-python::before{content:"Python"}.page .post-content .highlight>.chroma.language-r::before{content:"R"}.page .post-content .highlight>.chroma.language-ruby::before{content:"Ruby"}.page .post-content .highlight>.chroma.language-rust::before{content:"Rust"}.page .post-content .highlight>.chroma.language-scala::before{content:"Scala"}.page .post-content .highlight>.chroma.language-scss::before{content:"Scss"}.page .post-content .highlight>.chroma.language-shell::before{content:"Shell"}.page .post-content .highlight>.chroma.language-sql::before{content:"SQL"}.page .post-content .highlight>.chroma.language-swift::before{content:"Swift"}.page .post-content .highlight>.chroma.language-tex::before{content:"TeX"}.page .post-content .highlight>.chroma.language-toml::before{content:"TOML"}.page .post-content .highlight>.chroma.language-ts::before{content:"TypeScript"}.page .post-content .highlight>.chroma.language-typescript::before{content:"TypeScript"}.page .post-content .highlight>.chroma.language-vue::before{content:"Vue"}.page .post-content .highlight>.chroma.language-yml::before{content:"YAML"}.page .post-content .highlight>.chroma.language-yaml::before{content:"YAML"}.page .post-content .highlight>.chroma table,.page .post-content .highlight>.chroma tr,.page .post-content .highlight>.chroma td{margin:0;border:none !important}.page .post-content .highlight>.chroma td{padding:.2rem .4rem}.page .post-content .highlight>.chroma .lntd:first-child{width:1.2rem}.page .post-content .highlight>.chroma .lntd:first-child .lnt{color:#b1b0b0}.page .post-content .highlight>.chroma .lntd:first-child .hl{font-weight:bolder}.page .post-content .highlight>.chroma .lntd:last-child .hl{display:block;background-color:#e8e8e8}.dark-theme .page .post-content .highlight>.chroma .lntd:last-child .hl{background-color:#1c2025}.page .post-content .highlight{font-family:Fira Mono,Source Code Pro,Menlo,Consolas,Monaco,monospace}.page .post-content .highlight .c,.page .post-content .highlight .ch,.page .post-content .highlight .cm,.page .post-content .highlight .c1,.page .post-content .highlight .cs,.page .post-content .highlight .cp,.page .post-content .highlight .cpf{font-style:italic}.page .post-content .highlight .gl{text-decoration:underline}.page .post-content .highlight .p{color:#a9a9b3}.page .post-content .highlight .k{color:#b501a9}.page .post-content .highlight .kc{color:#b501a9}.page .post-content .highlight .kd{color:#b501a9}.page .post-content .highlight .kn{color:#b501a9}.page .post-content .highlight .kp{color:#b501a9}.page .post-content .highlight .kr{color:#b501a9}.page .post-content .highlight .kt{color:#b501a9}.page .post-content .highlight .n{color:#333}.page .post-content .highlight .na{color:#2b77fa}.page .post-content .highlight .nb{color:#f74840}.page .post-content .highlight .bp{color:#f74840}.page .post-content .highlight .nc{color:#cb8100}.page .post-content .highlight .no{color:#2b77fa}.page .post-content .highlight .nd{color:#0086c1}.page .post-content .highlight .ni{color:#2b77fa}.page .post-content .highlight .ne{color:#2b77fa}.page .post-content .highlight .nf{color:#2b77fa}.page .post-content .highlight .fm{color:#1ccad6}.page .post-content .highlight .nl{color:#2b77fa}.page .post-content .highlight .nn{color:#2b77fa}.page .post-content .highlight .nx{color:#333}.page .post-content .highlight .py{color:#2b77fa}.page .post-content .highlight .nt{color:#2b77fa}.page .post-content .highlight .nv{color:#2b77fa}.page .post-content .highlight .vc{color:#2b77fa}.page .post-content .highlight .vg{color:#2b77fa}.page .post-content .highlight .vi{color:#2b77fa}.page .post-content .highlight .vm{color:#2b77fa}.page .post-content .highlight .l{color:#2aa198}.page .post-content .highlight .ld{color:#2aa198}.page .post-content .highlight .s{color:#24a443}.page .post-content .highlight .sa{color:#24a443}.page .post-content .highlight .sb{color:#24a443}.page .post-content .highlight .sc{color:#24a443}.page .post-content .highlight .dl{color:#24a443}.page .post-content .highlight .sd{color:#24a443}.page .post-content .highlight .s2{color:#24a443}.page .post-content .highlight .se{color:#24a443}.page .post-content .highlight .sh{color:#24a443}.page .post-content .highlight .si{color:#24a443}.page .post-content .highlight .sx{color:#24a443}.page .post-content .highlight .sr{color:#24a443}.page .post-content .highlight .s1{color:#24a443}.page .post-content .highlight .ss{color:#24a443}.page .post-content .highlight .m{color:#e2893c}.page .post-content .highlight .mb{color:#e2893c}.page .post-content .highlight .mf{color:#e2893c}.page .post-content .highlight .mh{color:#e2893c}.page .post-content .highlight .mi{color:#e2893c}.page .post-content .highlight .il{color:#e2893c}.page .post-content .highlight .mo{color:#e2893c}.page .post-content .highlight .o{color:#f19b04}.page .post-content .highlight .ow{color:#b501a9}.page .post-content .highlight .c{color:#a0a1a8}.page .post-content .highlight .ch{color:#a0a1a8}.page .post-content .highlight .cm{color:#a0a1a8}.page .post-content .highlight .c1{color:#a0a1a8}.page .post-content .highlight .cs{color:#a0a1a8}.page .post-content .highlight .cp{color:#a0a1a8}.page .post-content .highlight .cpf{color:#a0a1a8}.page .post-content .highlight .g{color:#e72d40}.page .post-content .highlight .gd{color:#e72d40}.page .post-content .highlight .ge{color:#e72d40}.page .post-content .highlight .gr{color:#e72d40}.page .post-content .highlight .gh{color:#e72d40}.page .post-content .highlight .gi{color:#e72d40}.page .post-content .highlight .go{color:#e72d40}.page .post-content .highlight .gp{color:#e72d40}.page .post-content .highlight .gs{color:#e72d40}.page .post-content .highlight .gu{color:#e72d40}.page .post-content .highlight .gt{color:#e72d40}.page .post-content .highlight .w{color:#bbb}.dark-theme .page .post-content .highlight .p{color:#a9a9b3}.dark-theme .page .post-content .highlight .k{color:#d371e3}.dark-theme .page .post-content .highlight .kc{color:#d371e3}.dark-theme .page .post-content .highlight .kd{color:#d371e3}.dark-theme .page .post-content .highlight .kn{color:#d371e3}.dark-theme .page .post-content .highlight .kp{color:#d371e3}.dark-theme .page .post-content .highlight .kr{color:#d371e3}.dark-theme .page .post-content .highlight .kt{color:#d371e3}.dark-theme .page .post-content .highlight .n{color:#a9b2c0}.dark-theme .page .post-content .highlight .na{color:#41b0f5}.dark-theme .page .post-content .highlight .nb{color:#19b9c4}.dark-theme .page .post-content .highlight .bp{color:#ecbf6f}.dark-theme .page .post-content .highlight .nc{color:#ecbf6f}.dark-theme .page .post-content .highlight .no{color:#41b0f5}.dark-theme .page .post-content .highlight .nd{color:#ecbf6f}.dark-theme .page .post-content .highlight .ni{color:#41b0f5}.dark-theme .page .post-content .highlight .ne{color:#41b0f5}.dark-theme .page .post-content .highlight .nf{color:#41b0f5}.dark-theme .page .post-content .highlight .fm{color:#19b9c4}.dark-theme .page .post-content .highlight .nl{color:#41b0f5}.dark-theme .page .post-content .highlight .nn{color:#41b0f5}.dark-theme .page .post-content .highlight .nx{color:#a9a9b3}.dark-theme .page .post-content .highlight .py{color:#41b0f5}.dark-theme .page .post-content .highlight .nt{color:#41b0f5}.dark-theme .page .post-content .highlight .nv{color:#41b0f5}.dark-theme .page .post-content .highlight .vc{color:#41b0f5}.dark-theme .page .post-content .highlight .vg{color:#41b0f5}.dark-theme .page .post-content .highlight .vi{color:#41b0f5}.dark-theme .page .post-content .highlight .vm{color:#41b0f5}.dark-theme .page .post-content .highlight .l{color:#2aa198}.dark-theme .page .post-content .highlight .ld{color:#2aa198}.dark-theme .page .post-content .highlight .s{color:#8cc570}.dark-theme .page .post-content .highlight .sa{color:#8cc570}.dark-theme .page .post-content .highlight .sb{color:#8cc570}.dark-theme .page .post-content .highlight .sc{color:#8cc570}.dark-theme .page .post-content .highlight .dl{color:#8cc570}.dark-theme .page .post-content .highlight .sd{color:#8cc570}.dark-theme .page .post-content .highlight .s2{color:#8cc570}.dark-theme .page .post-content .highlight .se{color:#8cc570}.dark-theme .page .post-content .highlight .sh{color:#8cc570}.dark-theme .page .post-content .highlight .si{color:#8cc570}.dark-theme .page .post-content .highlight .sx{color:#8cc570}.dark-theme .page .post-content .highlight .sr{color:#8cc570}.dark-theme .page .post-content .highlight .s1{color:#8cc570}.dark-theme .page .post-content .highlight .ss{color:#8cc570}.dark-theme .page .post-content .highlight .m{color:#db985c}.dark-theme .page .post-content .highlight .mb{color:#db985c}.dark-theme .page .post-content .highlight .mf{color:#db985c}.dark-theme .page .post-content .highlight .mh{color:#db985c}.dark-theme .page .post-content .highlight .mi{color:#db985c}.dark-theme .page .post-content .highlight .il{color:#db985c}.dark-theme .page .post-content .highlight .mo{color:#db985c}.dark-theme .page .post-content .highlight .o{color:#ecbf6f}.dark-theme .page .post-content .highlight .ow{color:#d371e3}.dark-theme .page .post-content .highlight .c{color:#7e848f}.dark-theme .page .post-content .highlight .ch{color:#7e848f}.dark-theme .page .post-content .highlight .cm{color:#7e848f}.dark-theme .page .post-content .highlight .c1{color:#7e848f}.dark-theme .page .post-content .highlight .cs{color:#7e848f}.dark-theme .page .post-content .highlight .cp{color:#7e848f}.dark-theme .page .post-content .highlight .cpf{color:#7e848f}.dark-theme .page .post-content .highlight .g{color:#f16372}.dark-theme .page .post-content .highlight .gd{color:#f16372}.dark-theme .page .post-content .highlight .ge{color:#f16372}.dark-theme .page .post-content .highlight .gr{color:#f16372}.dark-theme .page .post-content .highlight .gh{color:#f16372}.dark-theme .page .post-content .highlight .gi{color:#f16372}.dark-theme .page .post-content .highlight .go{color:#f16372}.dark-theme .page .post-content .highlight .gp{color:#f16372}.dark-theme .page .post-content .highlight .gs{color:#f16372}.dark-theme .page .post-content .highlight .gu{color:#f16372}.dark-theme .page .post-content .highlight .gt{color:#f16372}.dark-theme .page .post-content .highlight .w{color:#bbb}.page .post-content .admonition{position:relative;margin:.9765em 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.page .post-content .admonition .admonition-title{margin:0 -0.75rem;padding:.5rem .75rem .5rem 2.5rem;border-bottom:0.1rem solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1);font-weight:700}.page .post-content .admonition i.icon{font-size:16px;color:#448aff;cursor:auto;position:absolute;left:.75rem;top:.75rem}.page .post-content .admonition.note{border-left-color:#448aff}.page .post-content .admonition.note i.icon{color:#448aff}.page .post-content .admonition.abstract{border-left-color:#00b0ff}.page .post-content .admonition.abstract i.icon{color:#00b0ff}.page .post-content .admonition.info{border-left-color:#00b8d4}.page .post-content .admonition.info i.icon{color:#00b8d4}.page .post-content .admonition.tip{border-left-color:#00bfa5}.page .post-content .admonition.tip i.icon{color:#00bfa5}.page .post-content .admonition.success{border-left-color:#00c853}.page .post-content .admonition.success i.icon{color:#00c853}.page .post-content .admonition.question{border-left-color:#64dd17}.page .post-content .admonition.question i.icon{color:#64dd17}.page .post-content .admonition.warning{border-left-color:#ff9100}.page .post-content .admonition.warning i.icon{color:#ff9100}.page .post-content .admonition.failure{border-left-color:#ff5252}.page .post-content .admonition.failure i.icon{color:#ff5252}.page .post-content .admonition.danger{border-left-color:#ff1744}.page .post-content .admonition.danger i.icon{color:#ff1744}.page .post-content .admonition.bug{border-left-color:#f50057}.page .post-content .admonition.bug i.icon{color:#f50057}.page .post-content .admonition.example{border-left-color:#651fff}.page .post-content .admonition.example i.icon{color:#651fff}.page .post-content .admonition.quote{border-left-color:#9e9e9e}.page .post-content .admonition.quote i.icon{color:#9e9e9e}.page .post-content .admonition.note{background-color:rgba(68,138,255,0.1)}.page .post-content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.page .post-content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.page .post-content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.1)}.page .post-content .admonition.info{background-color:rgba(0,184,212,0.1)}.page .post-content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.1)}.page .post-content .admonition.tip{background-color:rgba(0,191,165,0.1)}.page .post-content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.1)}.page .post-content .admonition.success{background-color:rgba(0,200,83,0.1)}.page .post-content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.1)}.page .post-content .admonition.question{background-color:rgba(100,221,23,0.1)}.page .post-content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.1)}.page .post-content .admonition.warning{background-color:rgba(255,145,0,0.1)}.page .post-content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.1)}.page .post-content .admonition.failure{background-color:rgba(255,82,82,0.1)}.page .post-content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.1)}.page .post-content .admonition.danger{background-color:rgba(255,23,68,0.1)}.page .post-content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.1)}.page .post-content .admonition.bug{background-color:rgba(245,0,87,0.1)}.page .post-content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.1)}.page .post-content .admonition.example{background-color:rgba(101,31,255,0.1)}.page .post-content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.1)}.page .post-content .admonition.quote{background-color:rgba(158,158,158,0.1)}.page .post-content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.page .post-content .admonition:last-child{margin-bottom:.75rem}.page .post-content details.admonition summary{display:block;outline:none;cursor:pointer}.page .post-content details.admonition summary::-webkit-details-marker{display:none}.page .post-content details.admonition summary i.details{position:absolute;top:.75rem;right:.75rem;color:#161209}.dark-theme .page .post-content details.admonition summary i.details{color:#a9a9b3}.page .post-content details.admonition[open] i.details{transform:rotate(180deg)}.page .post-content .mermaid{width:100%;margin:3% auto;text-align:center}.page .post-content .mermaid .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.page .post-content .mermaid .label text{fill:#333}.page .post-content .mermaid .node rect,.page .post-content .mermaid .node circle,.page .post-content .mermaid .node ellipse,.page .post-content .mermaid .node polygon{fill:#eee;stroke:#999;stroke-width:1px}.page .post-content .mermaid .node .label{text-align:center}.page .post-content .mermaid .node.clickable{cursor:pointer}.page .post-content .mermaid .arrowheadPath{fill:#333}.page .post-content .mermaid .edgePath .path{stroke:#666;stroke-width:1.5px}.page .post-content .mermaid .edgeLabel{background-color:#fff;text-align:center}.page .post-content .mermaid .cluster rect{fill:#eaf2fb;stroke:#26a;stroke-width:1px}.page .post-content .mermaid .cluster text{fill:#333}.page .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}.page .post-content .mermaid .actor{stroke:#999;fill:#eee}.page .post-content .mermaid text.actor{fill:#333;stroke:none}.page .post-content .mermaid .actor-line{stroke:#666}.page .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.page .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.page .post-content .mermaid #arrowhead{fill:#333}.page .post-content .mermaid .sequenceNumber{fill:#fff}.page .post-content .mermaid #sequencenumber{fill:#333}.page .post-content .mermaid #crosshead path{fill:#333 !important;stroke:#333 !important}.page .post-content .mermaid .messageText{fill:#333;stroke:none}.page .post-content .mermaid .labelBox{stroke:#999;fill:#eee}.page .post-content .mermaid .labelText{fill:#333;stroke:none}.page .post-content .mermaid .loopText{fill:#333;stroke:none}.page .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#999}.page .post-content .mermaid .note{stroke:#770;fill:#ffa}.page .post-content .mermaid .noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.page .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.page .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.page .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.page .post-content .mermaid .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .section{stroke:none;opacity:0.2}.page .post-content .mermaid .section0{fill:#80b3e6}.page .post-content .mermaid .section2{fill:#80b3e6}.page .post-content .mermaid .section1,.page .post-content .mermaid .section3{fill:#fff;opacity:0.2}.page .post-content .mermaid .sectionTitle0{fill:#333}.page .post-content .mermaid .sectionTitle1{fill:#333}.page .post-content .mermaid .sectionTitle2{fill:#333}.page .post-content .mermaid .sectionTitle3{fill:#333}.page .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)}.page .post-content .mermaid .grid .tick{stroke:#e6e5e5;opacity:0.3;shape-rendering:crispEdges}.page .post-content .mermaid .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .grid path{stroke-width:0}.page .post-content .mermaid .today{fill:none;stroke:#d42;stroke-width:2px}.page .post-content .mermaid .task{stroke-width:2}.page .post-content .mermaid .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .taskText:not([font-size]){font-size:11px}.page .post-content .mermaid .taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.page .post-content .mermaid .task.clickable{cursor:pointer}.page .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.page .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.page .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.page .post-content .mermaid .taskText0,.page .post-content .mermaid .taskText1,.page .post-content .mermaid .taskText2,.page .post-content .mermaid .taskText3{fill:#fff}.page .post-content .mermaid .task0,.page .post-content .mermaid .task1,.page .post-content .mermaid .task2,.page .post-content .mermaid .task3{fill:#26a;stroke:#1a4d80}.page .post-content .mermaid .taskTextOutside0,.page .post-content .mermaid .taskTextOutside2{fill:#333}.page .post-content .mermaid .taskTextOutside1,.page .post-content .mermaid .taskTextOutside3{fill:#333}.page .post-content .mermaid .active0,.page .post-content .mermaid .active1,.page .post-content .mermaid .active2,.page .post-content .mermaid .active3{fill:#eee;stroke:#1a4d80}.page .post-content .mermaid .activeText0,.page .post-content .mermaid .activeText1,.page .post-content .mermaid .activeText2,.page .post-content .mermaid .activeText3{fill:#333 !important}.page .post-content .mermaid .done0,.page .post-content .mermaid .done1,.page .post-content .mermaid .done2,.page .post-content .mermaid .done3{stroke:#666;fill:#bbb;stroke-width:2}.page .post-content .mermaid .doneText0,.page .post-content .mermaid .doneText1,.page .post-content .mermaid .doneText2,.page .post-content .mermaid .doneText3{fill:#333 !important}.page .post-content .mermaid .crit0,.page .post-content .mermaid .crit1,.page .post-content .mermaid .crit2,.page .post-content .mermaid .crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.page .post-content .mermaid .activeCrit0,.page .post-content .mermaid .activeCrit1,.page .post-content .mermaid .activeCrit2,.page .post-content .mermaid .activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.page .post-content .mermaid .doneCrit0,.page .post-content .mermaid .doneCrit1,.page .post-content .mermaid .doneCrit2,.page .post-content .mermaid .doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.page .post-content .mermaid .milestone{transform:rotate(45deg) scale(0.8, 0.8)}.page .post-content .mermaid .milestoneText{font-style:italic}.page .post-content .mermaid .doneCritText0,.page .post-content .mermaid .doneCritText1,.page .post-content .mermaid .doneCritText2,.page .post-content .mermaid .doneCritText3{fill:#333 !important}.page .post-content .mermaid .activeCritText0,.page .post-content .mermaid .activeCritText1,.page .post-content .mermaid .activeCritText2,.page .post-content .mermaid .activeCritText3{fill:#333 !important}.page .post-content .mermaid .titleText{text-anchor:middle;font-size:18px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .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}.page .post-content .mermaid g.classGroup text .title{font-weight:bolder}.page .post-content .mermaid g.classGroup rect{fill:#eee;stroke:#999}.page .post-content .mermaid g.classGroup line{stroke:#999;stroke-width:1}.page .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}.page .post-content .mermaid .classLabel .label{fill:#999;font-size:10px}.page .post-content .mermaid .relation{stroke:#999;stroke-width:1;fill:none}.page .post-content .mermaid #compositionStart{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #compositionEnd{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #aggregationStart{fill:#eee;stroke:#999;stroke-width:1}.page .post-content .mermaid #aggregationEnd{fill:#eee;stroke:#999;stroke-width:1}.page .post-content .mermaid #dependencyStart{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #dependencyEnd{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #extensionStart{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #extensionEnd{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid .commit-id,.page .post-content .mermaid .commit-msg,.page .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .pieTitleText{text-anchor:middle;font-size:25px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .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)}.page .post-content .mermaid g.stateGroup text{fill:#999;stroke:none;font-size:10px}.page .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.page .post-content .mermaid g.stateGroup rect{fill:#eee;stroke:#999}.page .post-content .mermaid g.stateGroup line{stroke:#999;stroke-width:1}.page .post-content .mermaid .transition{stroke:#999;stroke-width:1;fill:none}.page .post-content .mermaid .stateGroup .composit{fill:white;border-bottom:1px}.page .post-content .mermaid .state-note{stroke:#770;fill:#ffa}.page .post-content .mermaid .state-note text{fill:black;stroke:none;font-size:10px}.page .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}.page .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.dark-theme .page .post-content .mermaid .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.dark-theme .page .post-content .mermaid .label text{fill:#333}.dark-theme .page .post-content .mermaid .node rect,.dark-theme .page .post-content .mermaid .node circle,.dark-theme .page .post-content .mermaid .node ellipse,.dark-theme .page .post-content .mermaid .node polygon{fill:#BDD5EA;stroke:purple;stroke-width:1px}.dark-theme .page .post-content .mermaid .node .label{text-align:center}.dark-theme .page .post-content .mermaid .node.clickable{cursor:pointer}.dark-theme .page .post-content .mermaid .arrowheadPath{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .edgePath .path{stroke:#d3d3d3;stroke-width:1.5px}.dark-theme .page .post-content .mermaid .edgeLabel{background-color:#e8e8e8;text-align:center}.dark-theme .page .post-content .mermaid .cluster rect{fill:#6D6D65;stroke:rgba(255,255,255,0.25);stroke-width:1px}.dark-theme .page .post-content .mermaid .cluster text{fill:#F9FFFE}.dark-theme .page .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,0.25);border-radius:2px;pointer-events:none;z-index:100}.dark-theme .page .post-content .mermaid .actor{stroke:#81B1DB;fill:#BDD5EA}.dark-theme .page .post-content .mermaid text.actor{fill:#000;stroke:none}.dark-theme .page .post-content .mermaid .actor-line{stroke:#d3d3d3}.dark-theme .page .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#d3d3d3}.dark-theme .page .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#d3d3d3}.dark-theme .page .post-content .mermaid #arrowhead{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .sequenceNumber{fill:#fff}.dark-theme .page .post-content .mermaid #sequencenumber{fill:#d3d3d3}.dark-theme .page .post-content .mermaid #crosshead path{fill:#d3d3d3 !important;stroke:#d3d3d3 !important}.dark-theme .page .post-content .mermaid .messageText{fill:#d3d3d3;stroke:none}.dark-theme .page .post-content .mermaid .labelBox{stroke:#81B1DB;fill:#BDD5EA}.dark-theme .page .post-content .mermaid .labelText{fill:#323D47;stroke:none}.dark-theme .page .post-content .mermaid .loopText{fill:#d3d3d3;stroke:none}.dark-theme .page .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#81B1DB}.dark-theme .page .post-content .mermaid .note{stroke:rgba(255,255,255,0.25);fill:#fff5ad}.dark-theme .page .post-content .mermaid .noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.dark-theme .page .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.dark-theme .page .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.dark-theme .page .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.dark-theme .page .post-content .mermaid .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid .section{stroke:none;opacity:0.2}.dark-theme .page .post-content .mermaid .section0{fill:rgba(255,255,255,0.3)}.dark-theme .page .post-content .mermaid .section2{fill:#EAE8B9}.dark-theme .page .post-content .mermaid .section1,.dark-theme .page .post-content .mermaid .section3{fill:#fff;opacity:0.2}.dark-theme .page .post-content .mermaid .sectionTitle0{fill:#F9FFFE}.dark-theme .page .post-content .mermaid .sectionTitle1{fill:#F9FFFE}.dark-theme .page .post-content .mermaid .sectionTitle2{fill:#F9FFFE}.dark-theme .page .post-content .mermaid .sectionTitle3{fill:#F9FFFE}.dark-theme .page .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 .page .post-content .mermaid .grid .tick{stroke:#d3d3d3;opacity:0.3;shape-rendering:crispEdges}.dark-theme .page .post-content .mermaid .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid .grid path{stroke-width:0}.dark-theme .page .post-content .mermaid .today{fill:none;stroke:#DB5757;stroke-width:2px}.dark-theme .page .post-content .mermaid .task{stroke-width:2}.dark-theme .page .post-content .mermaid .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid .taskText:not([font-size]){font-size:11px}.dark-theme .page .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 .page .post-content .mermaid .taskTextOutsideLeft{fill:#323D47;text-anchor:end;font-size:11px}.dark-theme .page .post-content .mermaid .task.clickable{cursor:pointer}.dark-theme .page .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.dark-theme .page .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.dark-theme .page .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.dark-theme .page .post-content .mermaid .taskText0,.dark-theme .page .post-content .mermaid .taskText1,.dark-theme .page .post-content .mermaid .taskText2,.dark-theme .page .post-content .mermaid .taskText3{fill:#323D47}.dark-theme .page .post-content .mermaid .task0,.dark-theme .page .post-content .mermaid .task1,.dark-theme .page .post-content .mermaid .task2,.dark-theme .page .post-content .mermaid .task3{fill:#BDD5EA;stroke:rgba(255,255,255,0.5)}.dark-theme .page .post-content .mermaid .taskTextOutside0,.dark-theme .page .post-content .mermaid .taskTextOutside2{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .taskTextOutside1,.dark-theme .page .post-content .mermaid .taskTextOutside3{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .active0,.dark-theme .page .post-content .mermaid .active1,.dark-theme .page .post-content .mermaid .active2,.dark-theme .page .post-content .mermaid .active3{fill:#81B1DB;stroke:rgba(255,255,255,0.5)}.dark-theme .page .post-content .mermaid .activeText0,.dark-theme .page .post-content .mermaid .activeText1,.dark-theme .page .post-content .mermaid .activeText2,.dark-theme .page .post-content .mermaid .activeText3{fill:#323D47 !important}.dark-theme .page .post-content .mermaid .done0,.dark-theme .page .post-content .mermaid .done1,.dark-theme .page .post-content .mermaid .done2,.dark-theme .page .post-content .mermaid .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.dark-theme .page .post-content .mermaid .doneText0,.dark-theme .page .post-content .mermaid .doneText1,.dark-theme .page .post-content .mermaid .doneText2,.dark-theme .page .post-content .mermaid .doneText3{fill:#323D47 !important}.dark-theme .page .post-content .mermaid .crit0,.dark-theme .page .post-content .mermaid .crit1,.dark-theme .page .post-content .mermaid .crit2,.dark-theme .page .post-content .mermaid .crit3{stroke:#E83737;fill:#E83737;stroke-width:2}.dark-theme .page .post-content .mermaid .activeCrit0,.dark-theme .page .post-content .mermaid .activeCrit1,.dark-theme .page .post-content .mermaid .activeCrit2,.dark-theme .page .post-content .mermaid .activeCrit3{stroke:#E83737;fill:#81B1DB;stroke-width:2}.dark-theme .page .post-content .mermaid .doneCrit0,.dark-theme .page .post-content .mermaid .doneCrit1,.dark-theme .page .post-content .mermaid .doneCrit2,.dark-theme .page .post-content .mermaid .doneCrit3{stroke:#E83737;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.dark-theme .page .post-content .mermaid .milestone{transform:rotate(45deg) scale(0.8, 0.8)}.dark-theme .page .post-content .mermaid .milestoneText{font-style:italic}.dark-theme .page .post-content .mermaid .doneCritText0,.dark-theme .page .post-content .mermaid .doneCritText1,.dark-theme .page .post-content .mermaid .doneCritText2,.dark-theme .page .post-content .mermaid .doneCritText3{fill:#323D47 !important}.dark-theme .page .post-content .mermaid .activeCritText0,.dark-theme .page .post-content .mermaid .activeCritText1,.dark-theme .page .post-content .mermaid .activeCritText2,.dark-theme .page .post-content .mermaid .activeCritText3{fill:#323D47 !important}.dark-theme .page .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 .page .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 .page .post-content .mermaid g.classGroup text .title{font-weight:bolder}.dark-theme .page .post-content .mermaid g.classGroup rect{fill:#BDD5EA;stroke:purple}.dark-theme .page .post-content .mermaid g.classGroup line{stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#BDD5EA;opacity:0.5}.dark-theme .page .post-content .mermaid .classLabel .label{fill:purple;font-size:10px}.dark-theme .page .post-content .mermaid .relation{stroke:purple;stroke-width:1;fill:none}.dark-theme .page .post-content .mermaid #compositionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #compositionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #aggregationStart{fill:#BDD5EA;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #aggregationEnd{fill:#BDD5EA;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #dependencyStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #dependencyEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #extensionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #extensionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid .commit-id,.dark-theme .page .post-content .mermaid .commit-msg,.dark-theme .page .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .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 .page .post-content .mermaid .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .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 .page .post-content .mermaid g.stateGroup text{fill:purple;stroke:none;font-size:10px}.dark-theme .page .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.dark-theme .page .post-content .mermaid g.stateGroup rect{fill:#BDD5EA;stroke:purple}.dark-theme .page .post-content .mermaid g.stateGroup line{stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid .transition{stroke:purple;stroke-width:1;fill:none}.dark-theme .page .post-content .mermaid .stateGroup .composit{fill:white;border-bottom:1px}.dark-theme .page .post-content .mermaid .state-note{stroke:rgba(255,255,255,0.25);fill:#fff5ad}.dark-theme .page .post-content .mermaid .state-note text{fill:black;stroke:none;font-size:10px}.dark-theme .page .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#BDD5EA;opacity:0.5}.dark-theme .page .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.dark-theme .page .post-content .aplayer{background:#212121}.dark-theme .page .post-content .aplayer.aplayer-withlist .aplayer-info{border-bottom-color:#5c5c5c}.dark-theme .page .post-content .aplayer.aplayer-fixed .aplayer-list{border-color:#5c5c5c}.dark-theme .page .post-content .aplayer .aplayer-body{background-color:#212121}.dark-theme .page .post-content .aplayer .aplayer-info{border-top-color:#212121}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-music .aplayer-title{color:#fff}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-music .aplayer-author{color:#fff}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-controller .aplayer-time{color:#eee}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:#eee}.dark-theme .page .post-content .aplayer .aplayer-list{background-color:#212121}.dark-theme .page .post-content .aplayer .aplayer-list::-webkit-scrollbar-thumb{background-color:#999}.dark-theme .page .post-content .aplayer .aplayer-list::-webkit-scrollbar-thumb:hover{background-color:#bbb}.dark-theme .page .post-content .aplayer .aplayer-list li{color:#fff;border-top-color:#666}.dark-theme .page .post-content .aplayer .aplayer-list li:hover{background:#4e4e4e}.dark-theme .page .post-content .aplayer .aplayer-list li.aplayer-list-light{background:#6c6c6c}.dark-theme .page .post-content .aplayer .aplayer-list li .aplayer-list-index{color:#ddd}.dark-theme .page .post-content .aplayer .aplayer-list li .aplayer-list-author{color:#ddd}.dark-theme .page .post-content .aplayer .aplayer-lrc{text-shadow:-1px -1px 0 #666}.dark-theme .page .post-content .aplayer .aplayer-lrc:before{background:-moz-linear-gradient(top, #212121 0%, rgba(33,33,33,0) 100%);background:-webkit-linear-gradient(top, #212121 0%, rgba(33,33,33,0) 100%);background:linear-gradient(to bottom, #212121 0%, rgba(33,33,33,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#212121', endColorstr='#00212121',GradientType=0 )}.dark-theme .page .post-content .aplayer .aplayer-lrc:after{background:-moz-linear-gradient(top, rgba(33,33,33,0) 0%, rgba(33,33,33,0.8) 100%);background:-webkit-linear-gradient(top, rgba(33,33,33,0) 0%, rgba(33,33,33,0.8) 100%);background:linear-gradient(to bottom, rgba(33,33,33,0) 0%, rgba(33,33,33,0.8) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00212121', endColorstr='#cc212121',GradientType=0 )}.dark-theme .page .post-content .aplayer .aplayer-lrc p{color:#fff}.dark-theme .page .post-content .aplayer .aplayer-miniswitcher{background:#484848}.dark-theme .page .post-content .aplayer .aplayer-miniswitcher .aplayer-icon path{fill:#eee}.page .post-content .echarts{width:100%;height:30rem;margin:3% auto;text-align:center}.page .post-content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.page .post-content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.page .post-content hr{margin:1rem 0;position:relative;border-top:1px dashed #dcdcdc;border-bottom:none}.dark-theme .page .post-content hr{border-top:1px dashed #4a4b50}.page .post-content kbd{display:inline-block;padding:.25rem;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:.8rem;font-family:Fira Mono,Source Code Pro,Menlo,Consolas,Monaco,monospace;color:#E74C3C}.dark-theme .page .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}.page .post-content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Fira Mono,Source Code Pro,Menlo,Consolas,Monaco,monospace;font-weight:bold;word-break:break-all}.page .post-content .align-left{text-align:left}.page .post-content .align-center{text-align:center}.page .post-content .align-right{text-align:right}.page .post-content .float-left{float:left}.page .post-content .float-right{float:right}.page .post-footer{margin-top:3rem}.page .post-footer .post-info{border-bottom:1px solid #dcdcdc;padding:1rem 0 0.3rem}.dark-theme .page .post-footer .post-info{border-bottom:1px solid #4a4b50}.page .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.page .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}.dark-theme .page .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.page .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark-theme .page .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.page .post-footer .post-info .post-info-line .post-info-md a{font-size:0.8em;color:#2d96bd}.dark-theme .page .post-footer .post-info .post-info-line .post-info-md a{color:#eee}.page .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark-theme .page .post-footer .post-info .post-info-line .post-info-md a:hover{color:#2d96bd}.page .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.page .post-footer .post-nav::before,.page .post-footer .post-nav::after{content:' ';display:table}.page .post-footer .post-nav a.prev,.page .post-footer .post-nav a.next{font-size:1rem;font-weight:600;transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}.page .post-footer .post-nav a.prev{float:left}.page .post-footer .post-nav a.prev:hover{transform:translateX(-4px)}.page .post-footer .post-nav a.next{float:right}.page .post-footer .post-nav a.next:hover{transform:translateX(4px)}.page .post-comment{padding:4rem 0}.page .home-intro{transform:translateY(0);padding:2rem 0 2rem 0}.page .home-intro .home-avatar img{width:6rem}.page .post{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #dcdcdc}.dark-theme .page .post{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.page .post .post-featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto}.page .post .post-featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.page .post .post-list-title{font-size:1.6rem}.page .post .post-meta{font-size:.875rem !important}.page .post .post-meta a{color:#a9a9b3 !important}.dark-theme .page .post .post-meta a{color:#5d5d5f !important}.page .post .post-meta a:hover{color:#2d96bd !important}.dark-theme .page .post .post-meta a:hover{color:#fff !important}.page .post .post-content{display:-webkit-box;margin-top:.3rem;width:100%;max-height:10rem;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.page .post .post-content h2,.page .post .post-content h3,.page .post .post-content h4,.page .post .post-content h5,.page .post .post-content h6,.page .post .post-content p{font-size:1rem;margin:0;padding:.2rem 0;overflow:hidden;overflow-wrap:break-word;text-overflow:ellipsis}.page .post .post-content a{word-break:break-all}.page .post .post-footer{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem !important}.page .post .post-footer a{color:#2d96bd !important}.dark-theme .page .post .post-footer a{color:#eee !important}.page .post .post-footer a:hover{color:#ef3982 !important}.dark-theme .page .post .post-footer a:hover{color:#2d96bd !important}.page .post .post-footer .post-tags{padding:0}.page .post .post-footer .post-tags a{color:#161209 !important}.dark-theme .page .post .post-footer .post-tags a{color:#a9a9b3 !important}.page .post .post-footer .post-tags a:hover{color:#2d96bd !important}.dark-theme .page .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 .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.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 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}.dark-theme .archive .archive-item-link:hover{color:#fff;text-decoration:none;transition:color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}.archive .archive-item-date{float:right;text-align:right;color:#a9a9b3}.dark-theme .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.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 4rem;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 0.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:0px 2px 4px rgba(0,0,0,0.1),0px 4px 8px rgba(0,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%}.copyright .copyright-line .icp-br{display:none}.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:bold;padding:1rem 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,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") no-repeat center center}.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 5px;text-decoration:none;transition:0.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:0.3s;bottom:0px}.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){.page{max-width:780px}.page .post-toc{width:300px;margin-left:800px}}@media only screen and (max-width: 1440px){.page{max-width:680px}.page .post-toc{width:240px;margin-left:700px}}@media only screen and (max-width: 1200px){.page{max-width:560px}.page .post-toc{width:180px;margin-left:580px}}@media only screen and (max-width: 960px){.navbar .navbar-container{margin:0 1rem}.page{max-width:80%}.page .post-toc{display:none}.page .post-toc-mobile{display:block}}@media only screen and (max-width: 560px){.navbar{display:none}.navbar-mobile{display:block}.page{max-width:100%}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}.dynamic-to-top{display:none !important}} +@import url(https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900);@import url("https://fonts.googleapis.com/css?family=Fira+Mono:400,700&display=swap&subset=latin-ext");/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */@import url(https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900);@import url("https://fonts.googleapis.com/css?family=Fira+Mono:400,700&display=swap&subset=latin-ext");html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.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:-0.25em}sup{top:-0.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:0.35em 0.75em 0.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,PingFang SC,Microsoft Yahei,Segoe UI,Helvetica,Arial,sans-serif,Segoe UI Emoji}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background:rgba(38,139,211,0.2)}.dark-theme ::selection{background:rgba(38,139,211,0.3)}body{font-size:16px;font-weight:400;line-height:1.5rem;background-color:#fff;color:#161209}body::before{content:"";background-repeat:no-repeat;background-position:center;opacity:0.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 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.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:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}.home-intro{transform:translateY(25vh);text-align:center}.home-intro .home-avatar{padding:0.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 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);margin:0 auto;-webkit-transition:all ease 0.4s;-moz-transition:all ease 0.4s;-o-transition:all ease 0.4s;transition:all ease 0.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:normal;margin:0;padding:.4rem}.home-intro .home-social-links{padding-top:.6rem}.home-intro .home-social-links i{font-size:1.45rem}.home-intro .home-social-links img{width:1.5rem;height:1.5rem}.notfound{font-size:1.8rem;line-height:3rem;transform:translateY(30vh);text-align:center}.page{position:relative;width:100%;max-width:980px;margin:0 auto;padding-top:6rem}.page .post-title{margin:0 !important;font-size:1.8rem;line-height:3rem}.page .post-meta{font-size:.88rem;color:#a9a9b3}.page .post-meta span{display:inline-block}.dark-theme .page .post-meta{color:#5d5d5f}.page .post-meta a{color:#2d96bd}.dark-theme .page .post-meta a{color:#eee}.page .post-meta a:hover{color:#ef3982}.dark-theme .page .post-meta a:hover{color:#2d96bd}.page .post-meta .author{font-size:1.05rem}.page .post-featured-image{padding-top:.6rem}.page .post-featured-image img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.page .post-toc{display:block;position:absolute;width:360px;margin-left:1000px;padding:0 .8rem;border-left:1px solid #dcdcdc;word-wrap:break-word;box-sizing:border-box;top:12rem}.dark-theme .page .post-toc{border-left:1px solid #4a4b50}.page .post-toc .post-toc-title{font-weight:400;margin:.8rem 0;text-transform:uppercase}.page .post-toc .post-toc-content.always-active ul{display:block}.page .post-toc .post-toc-content>nav>ul{margin:.625rem 0}.page .post-toc .post-toc-content ul{text-indent:-0.85rem;padding-left:.625rem;list-style:none}.page .post-toc .post-toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark-theme .page .post-toc .post-toc-content ul a::before{color:#eee}.page .post-toc .post-toc-content ul ul{padding-left:1.25rem;display:none}.page .post-toc .post-toc-content ul .has-active>ul{display:block}.page .post-toc .post-toc-content .toc-link.active{font-weight:bold;color:#ef3982}.dark-theme .page .post-toc .post-toc-content .toc-link.active{color:#2d96bd}.page .post-toc .post-toc-content .toc-link.active::before{font-weight:bolder;color:#ef3982}.dark-theme .page .post-toc .post-toc-content .toc-link.active::before{color:#2d96bd}.page .post-toc-mobile{display:none;padding-top:.8rem}.page .post-toc-mobile details summary .post-toc-title{display:block;display:flex;justify-content:space-between;font-size:1.2em;font-weight:bold;line-height:2em;padding:0 .625rem;background:#f5f5f5}.page .post-toc-mobile details summary .post-toc-title i.details{line-height:2em}.dark-theme .page .post-toc-mobile details summary .post-toc-title{background:#272C34}.page .post-toc-mobile details summary::-webkit-details-marker{display:none}.page .post-toc-mobile details[open] i.details{transform:rotate(180deg)}.page .post-toc-mobile .post-toc-content{border:2px solid #f5f5f5}.page .post-toc-mobile .post-toc-content>nav>ul{margin:.625rem 0}.page .post-toc-mobile .post-toc-content ul{padding-left:.625rem;list-style:none}.page .post-toc-mobile .post-toc-content ul ul{padding-left:1.25rem}.dark-theme .page .post-toc-mobile .post-toc-content{border:2px solid #272C34}.page .post-content .post-dummy-target:target{display:inline-block;position:relative;top:-5.6rem;visibility:hidden}.page .post-content h1,.page .post-content h2,.page .post-content h3,.page .post-content h4,.page .post-content h5,.page .post-content h6{font-weight:bold}.dark-theme .page .post-content h1,.dark-theme .page .post-content h2,.dark-theme .page .post-content h3,.dark-theme .page .post-content h4,.dark-theme .page .post-content h5,.dark-theme .page .post-content h6{font-weight:bolder}.page .post-content h2,.page .post-content h3,.page .post-content h4,.page .post-content h5,.page .post-content h6{padding-top:.8rem;padding-bottom:.3rem}.page .post-content h2::before{content:"#";margin-right:.3125rem;color:#2d96bd}.dark-theme .page .post-content h2::before{color:#eee}.page .post-content h3::before,.page .post-content h4::before,.page .post-content h5::before,.page .post-content h6::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark-theme .page .post-content h3::before,.dark-theme .page .post-content h4::before,.dark-theme .page .post-content h5::before,.dark-theme .page .post-content h6::before{color:#eee}.page .post-content p{font-size:1rem;margin:.5rem 0}.page .post-content a{color:#2d96bd}.dark-theme .page .post-content a{color:#eee}.page .post-content a:hover{color:#ef3982}.dark-theme .page .post-content a:hover:hover{color:#2d96bd;font-weight:bold}.page .post-content ul{padding-left:2rem;list-style-type:disc}.page .post-content ruby{background:#f5f5f5}.page .post-content ruby rt{color:#a9a9b3}.dark-theme .page .post-content ruby{background:#272C34}.dark-theme .page .post-content ruby rt{color:#5d5d5f}.page .post-content .table-wrapper{overflow-x:auto}.page .post-content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark-theme .page .post-content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.page .post-content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff}.dark-theme .page .post-content .table-wrapper>table{background:#272c34}.page .post-content .table-wrapper>table thead{background:#ededed}.dark-theme .page .post-content .table-wrapper>table thead{background-color:#20252b}.page .post-content .table-wrapper>table th,.page .post-content .table-wrapper>table td{padding:.3rem 1rem;border:1px double #dcdcdc}.dark-theme .page .post-content .table-wrapper>table th,.dark-theme .page .post-content .table-wrapper>table td{border:1px double #4a4b50}.page .post-content figure{text-align:center}.page .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}.page .post-content img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.page .post-content blockquote{font-size:1rem;display:block;border-width:1px 0;border-style:solid;border-color:#dcdcdc;padding:1.5em 1.2em 0.5em 1.2em;margin:0 0 2em 0;position:relative}.page .post-content blockquote::before{content:'\201C';position:absolute;top:0em;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 .page .post-content blockquote::before{color:#eee}.page .post-content blockquote::after{content:"#blockquote" attr(cite);display:block;text-align:right;font-size:0.875em;color:#2d96bd}.dark-theme .page .post-content blockquote::after{color:#eee}.dark-theme .page .post-content blockquote{border-color:#4a4b50}.page .post-content .footnotes{color:#a9a9b3}.dark-theme .page .post-content .footnotes{color:#5d5d5f}.page .post-content code{font-size:13px;font-family:Fira Mono,Source Code Pro,Menlo,Consolas,Monaco,monospace;padding:.2rem .4rem;color:#E74C3C}.dark-theme .page .post-content code{color:#E5BF78}.page .post-content code,.page .post-content pre,.page .post-content .highlight table,.page .post-content .highlight tr,.page .post-content .highlight td{background:#f5f5f5}.dark-theme .page .post-content code,.dark-theme .page .post-content pre,.dark-theme .page .post-content .highlight table,.dark-theme .page .post-content .highlight tr,.dark-theme .page .post-content .highlight td{background:#272C34}.page .post-content .highlight>.chroma{margin:1rem 0;line-height:18px}.page .post-content .highlight>.chroma code,.page .post-content .highlight>.chroma pre{margin:0;padding:0}.page .post-content .highlight>.chroma::before{display:block;padding:.4rem;font-family:Lato,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft Yahei,Segoe UI,Helvetica,Arial,sans-serif,Segoe UI Emoji;font-size:13px;font-weight:bold;color:#b1b0b0;background:#ededed;content:'Code'}.dark-theme .page .post-content .highlight>.chroma::before{color:#b1b0b0;background:#20252b}.page .post-content .highlight>.chroma.language-bash::before{content:"Bash"}.page .post-content .highlight>.chroma.language-c::before{content:"C"}.page .post-content .highlight>.chroma.language-cs::before{content:"C#"}.page .post-content .highlight>.chroma.language-cpp::before{content:"C++"}.page .post-content .highlight>.chroma.language-clojure::before{content:"Clojure"}.page .post-content .highlight>.chroma.language-coffeescript::before{content:"CoffeeScript"}.page .post-content .highlight>.chroma.language-css::before{content:"CSS"}.page .post-content .highlight>.chroma.language-dart::before{content:"Dart"}.page .post-content .highlight>.chroma.language-diff::before{content:"Diff"}.page .post-content .highlight>.chroma.language-erlang::before{content:"Erlang"}.page .post-content .highlight>.chroma.language-go::before{content:"Go"}.page .post-content .highlight>.chroma.language-go-html-template::before{content:"Go HTML Template"}.page .post-content .highlight>.chroma.language-groovy::before{content:"Groovy"}.page .post-content .highlight>.chroma.language-haskell::before{content:"Haskell"}.page .post-content .highlight>.chroma.language-html::before{content:"HTML"}.page .post-content .highlight>.chroma.language-http::before{content:"HTTP"}.page .post-content .highlight>.chroma.language-xml::before{content:"XML"}.page .post-content .highlight>.chroma.language-java::before{content:"Java"}.page .post-content .highlight>.chroma.language-js::before{content:"JavaScript"}.page .post-content .highlight>.chroma.language-javascript::before{content:"JavaScript"}.page .post-content .highlight>.chroma.language-json::before{content:"JSON"}.page .post-content .highlight>.chroma.language-kotlin::before{content:"Kotlin"}.page .post-content .highlight>.chroma.language-latex::before{content:"LaTeX"}.page .post-content .highlight>.chroma.language-less::before{content:"Less"}.page .post-content .highlight>.chroma.language-lisp::before{content:"Lisp"}.page .post-content .highlight>.chroma.language-lua::before{content:"Lua"}.page .post-content .highlight>.chroma.language-makefile::before{content:"Makefile"}.page .post-content .highlight>.chroma.language-markdown::before{content:"Markdown"}.page .post-content .highlight>.chroma.language-matlab::before{content:"Matlab"}.page .post-content .highlight>.chroma.language-objectivec::before{content:"Objective-C"}.page .post-content .highlight>.chroma.language-php::before{content:"PHP"}.page .post-content .highlight>.chroma.language-perl::before{content:"Perl"}.page .post-content .highlight>.chroma.language-python::before{content:"Python"}.page .post-content .highlight>.chroma.language-r::before{content:"R"}.page .post-content .highlight>.chroma.language-ruby::before{content:"Ruby"}.page .post-content .highlight>.chroma.language-rust::before{content:"Rust"}.page .post-content .highlight>.chroma.language-scala::before{content:"Scala"}.page .post-content .highlight>.chroma.language-scss::before{content:"Scss"}.page .post-content .highlight>.chroma.language-shell::before{content:"Shell"}.page .post-content .highlight>.chroma.language-sql::before{content:"SQL"}.page .post-content .highlight>.chroma.language-swift::before{content:"Swift"}.page .post-content .highlight>.chroma.language-tex::before{content:"TeX"}.page .post-content .highlight>.chroma.language-toml::before{content:"TOML"}.page .post-content .highlight>.chroma.language-ts::before{content:"TypeScript"}.page .post-content .highlight>.chroma.language-typescript::before{content:"TypeScript"}.page .post-content .highlight>.chroma.language-vue::before{content:"Vue"}.page .post-content .highlight>.chroma.language-yml::before{content:"YAML"}.page .post-content .highlight>.chroma.language-yaml::before{content:"YAML"}.page .post-content .highlight>.chroma table,.page .post-content .highlight>.chroma tr,.page .post-content .highlight>.chroma td{margin:0;border:none !important}.page .post-content .highlight>.chroma td{padding:.2rem .4rem}.page .post-content .highlight>.chroma .lntd:first-child{width:1.2rem}.page .post-content .highlight>.chroma .lntd:first-child .lnt{color:#b1b0b0}.page .post-content .highlight>.chroma .lntd:first-child .hl{font-weight:bolder}.page .post-content .highlight>.chroma .lntd:last-child .hl{display:block;background-color:#e8e8e8}.dark-theme .page .post-content .highlight>.chroma .lntd:last-child .hl{background-color:#1c2025}.page .post-content .highlight{font-family:Fira Mono,Source Code Pro,Menlo,Consolas,Monaco,monospace}.page .post-content .highlight .c,.page .post-content .highlight .ch,.page .post-content .highlight .cm,.page .post-content .highlight .c1,.page .post-content .highlight .cs,.page .post-content .highlight .cp,.page .post-content .highlight .cpf{font-style:italic}.page .post-content .highlight .gl{text-decoration:underline}.page .post-content .highlight .p{color:#a9a9b3}.page .post-content .highlight .k{color:#b501a9}.page .post-content .highlight .kc{color:#b501a9}.page .post-content .highlight .kd{color:#b501a9}.page .post-content .highlight .kn{color:#b501a9}.page .post-content .highlight .kp{color:#b501a9}.page .post-content .highlight .kr{color:#b501a9}.page .post-content .highlight .kt{color:#b501a9}.page .post-content .highlight .n{color:#333}.page .post-content .highlight .na{color:#2b77fa}.page .post-content .highlight .nb{color:#f74840}.page .post-content .highlight .bp{color:#f74840}.page .post-content .highlight .nc{color:#cb8100}.page .post-content .highlight .no{color:#2b77fa}.page .post-content .highlight .nd{color:#0086c1}.page .post-content .highlight .ni{color:#2b77fa}.page .post-content .highlight .ne{color:#2b77fa}.page .post-content .highlight .nf{color:#2b77fa}.page .post-content .highlight .fm{color:#1ccad6}.page .post-content .highlight .nl{color:#2b77fa}.page .post-content .highlight .nn{color:#2b77fa}.page .post-content .highlight .nx{color:#333}.page .post-content .highlight .py{color:#2b77fa}.page .post-content .highlight .nt{color:#2b77fa}.page .post-content .highlight .nv{color:#2b77fa}.page .post-content .highlight .vc{color:#2b77fa}.page .post-content .highlight .vg{color:#2b77fa}.page .post-content .highlight .vi{color:#2b77fa}.page .post-content .highlight .vm{color:#2b77fa}.page .post-content .highlight .l{color:#2aa198}.page .post-content .highlight .ld{color:#2aa198}.page .post-content .highlight .s{color:#24a443}.page .post-content .highlight .sa{color:#24a443}.page .post-content .highlight .sb{color:#24a443}.page .post-content .highlight .sc{color:#24a443}.page .post-content .highlight .dl{color:#24a443}.page .post-content .highlight .sd{color:#24a443}.page .post-content .highlight .s2{color:#24a443}.page .post-content .highlight .se{color:#24a443}.page .post-content .highlight .sh{color:#24a443}.page .post-content .highlight .si{color:#24a443}.page .post-content .highlight .sx{color:#24a443}.page .post-content .highlight .sr{color:#24a443}.page .post-content .highlight .s1{color:#24a443}.page .post-content .highlight .ss{color:#24a443}.page .post-content .highlight .m{color:#e2893c}.page .post-content .highlight .mb{color:#e2893c}.page .post-content .highlight .mf{color:#e2893c}.page .post-content .highlight .mh{color:#e2893c}.page .post-content .highlight .mi{color:#e2893c}.page .post-content .highlight .il{color:#e2893c}.page .post-content .highlight .mo{color:#e2893c}.page .post-content .highlight .o{color:#f19b04}.page .post-content .highlight .ow{color:#b501a9}.page .post-content .highlight .c{color:#a0a1a8}.page .post-content .highlight .ch{color:#a0a1a8}.page .post-content .highlight .cm{color:#a0a1a8}.page .post-content .highlight .c1{color:#a0a1a8}.page .post-content .highlight .cs{color:#a0a1a8}.page .post-content .highlight .cp{color:#a0a1a8}.page .post-content .highlight .cpf{color:#a0a1a8}.page .post-content .highlight .g{color:#e72d40}.page .post-content .highlight .gd{color:#e72d40}.page .post-content .highlight .ge{color:#e72d40}.page .post-content .highlight .gr{color:#e72d40}.page .post-content .highlight .gh{color:#e72d40}.page .post-content .highlight .gi{color:#e72d40}.page .post-content .highlight .go{color:#e72d40}.page .post-content .highlight .gp{color:#e72d40}.page .post-content .highlight .gs{color:#e72d40}.page .post-content .highlight .gu{color:#e72d40}.page .post-content .highlight .gt{color:#e72d40}.page .post-content .highlight .w{color:#bbb}.dark-theme .page .post-content .highlight .p{color:#a9a9b3}.dark-theme .page .post-content .highlight .k{color:#d371e3}.dark-theme .page .post-content .highlight .kc{color:#d371e3}.dark-theme .page .post-content .highlight .kd{color:#d371e3}.dark-theme .page .post-content .highlight .kn{color:#d371e3}.dark-theme .page .post-content .highlight .kp{color:#d371e3}.dark-theme .page .post-content .highlight .kr{color:#d371e3}.dark-theme .page .post-content .highlight .kt{color:#d371e3}.dark-theme .page .post-content .highlight .n{color:#a9b2c0}.dark-theme .page .post-content .highlight .na{color:#41b0f5}.dark-theme .page .post-content .highlight .nb{color:#19b9c4}.dark-theme .page .post-content .highlight .bp{color:#ecbf6f}.dark-theme .page .post-content .highlight .nc{color:#ecbf6f}.dark-theme .page .post-content .highlight .no{color:#41b0f5}.dark-theme .page .post-content .highlight .nd{color:#ecbf6f}.dark-theme .page .post-content .highlight .ni{color:#41b0f5}.dark-theme .page .post-content .highlight .ne{color:#41b0f5}.dark-theme .page .post-content .highlight .nf{color:#41b0f5}.dark-theme .page .post-content .highlight .fm{color:#19b9c4}.dark-theme .page .post-content .highlight .nl{color:#41b0f5}.dark-theme .page .post-content .highlight .nn{color:#41b0f5}.dark-theme .page .post-content .highlight .nx{color:#a9a9b3}.dark-theme .page .post-content .highlight .py{color:#41b0f5}.dark-theme .page .post-content .highlight .nt{color:#41b0f5}.dark-theme .page .post-content .highlight .nv{color:#41b0f5}.dark-theme .page .post-content .highlight .vc{color:#41b0f5}.dark-theme .page .post-content .highlight .vg{color:#41b0f5}.dark-theme .page .post-content .highlight .vi{color:#41b0f5}.dark-theme .page .post-content .highlight .vm{color:#41b0f5}.dark-theme .page .post-content .highlight .l{color:#2aa198}.dark-theme .page .post-content .highlight .ld{color:#2aa198}.dark-theme .page .post-content .highlight .s{color:#8cc570}.dark-theme .page .post-content .highlight .sa{color:#8cc570}.dark-theme .page .post-content .highlight .sb{color:#8cc570}.dark-theme .page .post-content .highlight .sc{color:#8cc570}.dark-theme .page .post-content .highlight .dl{color:#8cc570}.dark-theme .page .post-content .highlight .sd{color:#8cc570}.dark-theme .page .post-content .highlight .s2{color:#8cc570}.dark-theme .page .post-content .highlight .se{color:#8cc570}.dark-theme .page .post-content .highlight .sh{color:#8cc570}.dark-theme .page .post-content .highlight .si{color:#8cc570}.dark-theme .page .post-content .highlight .sx{color:#8cc570}.dark-theme .page .post-content .highlight .sr{color:#8cc570}.dark-theme .page .post-content .highlight .s1{color:#8cc570}.dark-theme .page .post-content .highlight .ss{color:#8cc570}.dark-theme .page .post-content .highlight .m{color:#db985c}.dark-theme .page .post-content .highlight .mb{color:#db985c}.dark-theme .page .post-content .highlight .mf{color:#db985c}.dark-theme .page .post-content .highlight .mh{color:#db985c}.dark-theme .page .post-content .highlight .mi{color:#db985c}.dark-theme .page .post-content .highlight .il{color:#db985c}.dark-theme .page .post-content .highlight .mo{color:#db985c}.dark-theme .page .post-content .highlight .o{color:#ecbf6f}.dark-theme .page .post-content .highlight .ow{color:#d371e3}.dark-theme .page .post-content .highlight .c{color:#7e848f}.dark-theme .page .post-content .highlight .ch{color:#7e848f}.dark-theme .page .post-content .highlight .cm{color:#7e848f}.dark-theme .page .post-content .highlight .c1{color:#7e848f}.dark-theme .page .post-content .highlight .cs{color:#7e848f}.dark-theme .page .post-content .highlight .cp{color:#7e848f}.dark-theme .page .post-content .highlight .cpf{color:#7e848f}.dark-theme .page .post-content .highlight .g{color:#f16372}.dark-theme .page .post-content .highlight .gd{color:#f16372}.dark-theme .page .post-content .highlight .ge{color:#f16372}.dark-theme .page .post-content .highlight .gr{color:#f16372}.dark-theme .page .post-content .highlight .gh{color:#f16372}.dark-theme .page .post-content .highlight .gi{color:#f16372}.dark-theme .page .post-content .highlight .go{color:#f16372}.dark-theme .page .post-content .highlight .gp{color:#f16372}.dark-theme .page .post-content .highlight .gs{color:#f16372}.dark-theme .page .post-content .highlight .gu{color:#f16372}.dark-theme .page .post-content .highlight .gt{color:#f16372}.dark-theme .page .post-content .highlight .w{color:#bbb}.page .post-content .admonition{position:relative;margin:.9765em 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.page .post-content .admonition .admonition-title{margin:0 -0.75rem;padding:.5rem .75rem .5rem 2.5rem;border-bottom:0.1rem solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1);font-weight:700}.page .post-content .admonition i.icon{font-size:16px;color:#448aff;cursor:auto;position:absolute;left:.75rem;top:.75rem}.page .post-content .admonition.note{border-left-color:#448aff}.page .post-content .admonition.note i.icon{color:#448aff}.page .post-content .admonition.abstract{border-left-color:#00b0ff}.page .post-content .admonition.abstract i.icon{color:#00b0ff}.page .post-content .admonition.info{border-left-color:#00b8d4}.page .post-content .admonition.info i.icon{color:#00b8d4}.page .post-content .admonition.tip{border-left-color:#00bfa5}.page .post-content .admonition.tip i.icon{color:#00bfa5}.page .post-content .admonition.success{border-left-color:#00c853}.page .post-content .admonition.success i.icon{color:#00c853}.page .post-content .admonition.question{border-left-color:#64dd17}.page .post-content .admonition.question i.icon{color:#64dd17}.page .post-content .admonition.warning{border-left-color:#ff9100}.page .post-content .admonition.warning i.icon{color:#ff9100}.page .post-content .admonition.failure{border-left-color:#ff5252}.page .post-content .admonition.failure i.icon{color:#ff5252}.page .post-content .admonition.danger{border-left-color:#ff1744}.page .post-content .admonition.danger i.icon{color:#ff1744}.page .post-content .admonition.bug{border-left-color:#f50057}.page .post-content .admonition.bug i.icon{color:#f50057}.page .post-content .admonition.example{border-left-color:#651fff}.page .post-content .admonition.example i.icon{color:#651fff}.page .post-content .admonition.quote{border-left-color:#9e9e9e}.page .post-content .admonition.quote i.icon{color:#9e9e9e}.page .post-content .admonition.note{background-color:rgba(68,138,255,0.1)}.page .post-content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.page .post-content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.page .post-content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.1)}.page .post-content .admonition.info{background-color:rgba(0,184,212,0.1)}.page .post-content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.1)}.page .post-content .admonition.tip{background-color:rgba(0,191,165,0.1)}.page .post-content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.1)}.page .post-content .admonition.success{background-color:rgba(0,200,83,0.1)}.page .post-content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.1)}.page .post-content .admonition.question{background-color:rgba(100,221,23,0.1)}.page .post-content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.1)}.page .post-content .admonition.warning{background-color:rgba(255,145,0,0.1)}.page .post-content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.1)}.page .post-content .admonition.failure{background-color:rgba(255,82,82,0.1)}.page .post-content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.1)}.page .post-content .admonition.danger{background-color:rgba(255,23,68,0.1)}.page .post-content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.1)}.page .post-content .admonition.bug{background-color:rgba(245,0,87,0.1)}.page .post-content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.1)}.page .post-content .admonition.example{background-color:rgba(101,31,255,0.1)}.page .post-content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.1)}.page .post-content .admonition.quote{background-color:rgba(158,158,158,0.1)}.page .post-content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.page .post-content .admonition:last-child{margin-bottom:.75rem}.page .post-content details.admonition summary{display:block;outline:none;cursor:pointer}.page .post-content details.admonition summary::-webkit-details-marker{display:none}.page .post-content details.admonition summary i.details{position:absolute;top:.75rem;right:.75rem;color:#161209}.dark-theme .page .post-content details.admonition summary i.details{color:#a9a9b3}.page .post-content details.admonition[open] i.details{transform:rotate(180deg)}.page .post-content .mermaid{width:100%;margin:3% auto;text-align:center}.page .post-content .mermaid .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.page .post-content .mermaid .label text{fill:#333}.page .post-content .mermaid .node rect,.page .post-content .mermaid .node circle,.page .post-content .mermaid .node ellipse,.page .post-content .mermaid .node polygon{fill:#eee;stroke:#999;stroke-width:1px}.page .post-content .mermaid .node .label{text-align:center}.page .post-content .mermaid .node.clickable{cursor:pointer}.page .post-content .mermaid .arrowheadPath{fill:#333}.page .post-content .mermaid .edgePath .path{stroke:#666;stroke-width:1.5px}.page .post-content .mermaid .edgeLabel{background-color:#fff;text-align:center}.page .post-content .mermaid .cluster rect{fill:#eaf2fb;stroke:#26a;stroke-width:1px}.page .post-content .mermaid .cluster text{fill:#333}.page .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}.page .post-content .mermaid .actor{stroke:#999;fill:#eee}.page .post-content .mermaid text.actor{fill:#333;stroke:none}.page .post-content .mermaid .actor-line{stroke:#666}.page .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.page .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.page .post-content .mermaid #arrowhead{fill:#333}.page .post-content .mermaid .sequenceNumber{fill:#fff}.page .post-content .mermaid #sequencenumber{fill:#333}.page .post-content .mermaid #crosshead path{fill:#333 !important;stroke:#333 !important}.page .post-content .mermaid .messageText{fill:#333;stroke:none}.page .post-content .mermaid .labelBox{stroke:#999;fill:#eee}.page .post-content .mermaid .labelText{fill:#333;stroke:none}.page .post-content .mermaid .loopText{fill:#333;stroke:none}.page .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#999}.page .post-content .mermaid .note{stroke:#770;fill:#ffa}.page .post-content .mermaid .noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.page .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.page .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.page .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.page .post-content .mermaid .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .section{stroke:none;opacity:0.2}.page .post-content .mermaid .section0{fill:#80b3e6}.page .post-content .mermaid .section2{fill:#80b3e6}.page .post-content .mermaid .section1,.page .post-content .mermaid .section3{fill:#fff;opacity:0.2}.page .post-content .mermaid .sectionTitle0{fill:#333}.page .post-content .mermaid .sectionTitle1{fill:#333}.page .post-content .mermaid .sectionTitle2{fill:#333}.page .post-content .mermaid .sectionTitle3{fill:#333}.page .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)}.page .post-content .mermaid .grid .tick{stroke:#e6e5e5;opacity:0.3;shape-rendering:crispEdges}.page .post-content .mermaid .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .grid path{stroke-width:0}.page .post-content .mermaid .today{fill:none;stroke:#d42;stroke-width:2px}.page .post-content .mermaid .task{stroke-width:2}.page .post-content .mermaid .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .taskText:not([font-size]){font-size:11px}.page .post-content .mermaid .taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.page .post-content .mermaid .task.clickable{cursor:pointer}.page .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.page .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.page .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.page .post-content .mermaid .taskText0,.page .post-content .mermaid .taskText1,.page .post-content .mermaid .taskText2,.page .post-content .mermaid .taskText3{fill:#fff}.page .post-content .mermaid .task0,.page .post-content .mermaid .task1,.page .post-content .mermaid .task2,.page .post-content .mermaid .task3{fill:#26a;stroke:#1a4d80}.page .post-content .mermaid .taskTextOutside0,.page .post-content .mermaid .taskTextOutside2{fill:#333}.page .post-content .mermaid .taskTextOutside1,.page .post-content .mermaid .taskTextOutside3{fill:#333}.page .post-content .mermaid .active0,.page .post-content .mermaid .active1,.page .post-content .mermaid .active2,.page .post-content .mermaid .active3{fill:#eee;stroke:#1a4d80}.page .post-content .mermaid .activeText0,.page .post-content .mermaid .activeText1,.page .post-content .mermaid .activeText2,.page .post-content .mermaid .activeText3{fill:#333 !important}.page .post-content .mermaid .done0,.page .post-content .mermaid .done1,.page .post-content .mermaid .done2,.page .post-content .mermaid .done3{stroke:#666;fill:#bbb;stroke-width:2}.page .post-content .mermaid .doneText0,.page .post-content .mermaid .doneText1,.page .post-content .mermaid .doneText2,.page .post-content .mermaid .doneText3{fill:#333 !important}.page .post-content .mermaid .crit0,.page .post-content .mermaid .crit1,.page .post-content .mermaid .crit2,.page .post-content .mermaid .crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.page .post-content .mermaid .activeCrit0,.page .post-content .mermaid .activeCrit1,.page .post-content .mermaid .activeCrit2,.page .post-content .mermaid .activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.page .post-content .mermaid .doneCrit0,.page .post-content .mermaid .doneCrit1,.page .post-content .mermaid .doneCrit2,.page .post-content .mermaid .doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.page .post-content .mermaid .milestone{transform:rotate(45deg) scale(0.8, 0.8)}.page .post-content .mermaid .milestoneText{font-style:italic}.page .post-content .mermaid .doneCritText0,.page .post-content .mermaid .doneCritText1,.page .post-content .mermaid .doneCritText2,.page .post-content .mermaid .doneCritText3{fill:#333 !important}.page .post-content .mermaid .activeCritText0,.page .post-content .mermaid .activeCritText1,.page .post-content .mermaid .activeCritText2,.page .post-content .mermaid .activeCritText3{fill:#333 !important}.page .post-content .mermaid .titleText{text-anchor:middle;font-size:18px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .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}.page .post-content .mermaid g.classGroup text .title{font-weight:bolder}.page .post-content .mermaid g.classGroup rect{fill:#eee;stroke:#999}.page .post-content .mermaid g.classGroup line{stroke:#999;stroke-width:1}.page .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}.page .post-content .mermaid .classLabel .label{fill:#999;font-size:10px}.page .post-content .mermaid .relation{stroke:#999;stroke-width:1;fill:none}.page .post-content .mermaid #compositionStart{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #compositionEnd{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #aggregationStart{fill:#eee;stroke:#999;stroke-width:1}.page .post-content .mermaid #aggregationEnd{fill:#eee;stroke:#999;stroke-width:1}.page .post-content .mermaid #dependencyStart{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #dependencyEnd{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #extensionStart{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #extensionEnd{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid .commit-id,.page .post-content .mermaid .commit-msg,.page .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .pieTitleText{text-anchor:middle;font-size:25px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .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)}.page .post-content .mermaid g.stateGroup text{fill:#999;stroke:none;font-size:10px}.page .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.page .post-content .mermaid g.stateGroup rect{fill:#eee;stroke:#999}.page .post-content .mermaid g.stateGroup line{stroke:#999;stroke-width:1}.page .post-content .mermaid .transition{stroke:#999;stroke-width:1;fill:none}.page .post-content .mermaid .stateGroup .composit{fill:white;border-bottom:1px}.page .post-content .mermaid .state-note{stroke:#770;fill:#ffa}.page .post-content .mermaid .state-note text{fill:black;stroke:none;font-size:10px}.page .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}.page .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.dark-theme .page .post-content .mermaid .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.dark-theme .page .post-content .mermaid .label text{fill:#333}.dark-theme .page .post-content .mermaid .node rect,.dark-theme .page .post-content .mermaid .node circle,.dark-theme .page .post-content .mermaid .node ellipse,.dark-theme .page .post-content .mermaid .node polygon{fill:#BDD5EA;stroke:purple;stroke-width:1px}.dark-theme .page .post-content .mermaid .node .label{text-align:center}.dark-theme .page .post-content .mermaid .node.clickable{cursor:pointer}.dark-theme .page .post-content .mermaid .arrowheadPath{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .edgePath .path{stroke:#d3d3d3;stroke-width:1.5px}.dark-theme .page .post-content .mermaid .edgeLabel{background-color:#e8e8e8;text-align:center}.dark-theme .page .post-content .mermaid .cluster rect{fill:#6D6D65;stroke:rgba(255,255,255,0.25);stroke-width:1px}.dark-theme .page .post-content .mermaid .cluster text{fill:#F9FFFE}.dark-theme .page .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,0.25);border-radius:2px;pointer-events:none;z-index:100}.dark-theme .page .post-content .mermaid .actor{stroke:#81B1DB;fill:#BDD5EA}.dark-theme .page .post-content .mermaid text.actor{fill:#000;stroke:none}.dark-theme .page .post-content .mermaid .actor-line{stroke:#d3d3d3}.dark-theme .page .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#d3d3d3}.dark-theme .page .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#d3d3d3}.dark-theme .page .post-content .mermaid #arrowhead{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .sequenceNumber{fill:#fff}.dark-theme .page .post-content .mermaid #sequencenumber{fill:#d3d3d3}.dark-theme .page .post-content .mermaid #crosshead path{fill:#d3d3d3 !important;stroke:#d3d3d3 !important}.dark-theme .page .post-content .mermaid .messageText{fill:#d3d3d3;stroke:none}.dark-theme .page .post-content .mermaid .labelBox{stroke:#81B1DB;fill:#BDD5EA}.dark-theme .page .post-content .mermaid .labelText{fill:#323D47;stroke:none}.dark-theme .page .post-content .mermaid .loopText{fill:#d3d3d3;stroke:none}.dark-theme .page .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#81B1DB}.dark-theme .page .post-content .mermaid .note{stroke:rgba(255,255,255,0.25);fill:#fff5ad}.dark-theme .page .post-content .mermaid .noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.dark-theme .page .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.dark-theme .page .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.dark-theme .page .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.dark-theme .page .post-content .mermaid .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid .section{stroke:none;opacity:0.2}.dark-theme .page .post-content .mermaid .section0{fill:rgba(255,255,255,0.3)}.dark-theme .page .post-content .mermaid .section2{fill:#EAE8B9}.dark-theme .page .post-content .mermaid .section1,.dark-theme .page .post-content .mermaid .section3{fill:#fff;opacity:0.2}.dark-theme .page .post-content .mermaid .sectionTitle0{fill:#F9FFFE}.dark-theme .page .post-content .mermaid .sectionTitle1{fill:#F9FFFE}.dark-theme .page .post-content .mermaid .sectionTitle2{fill:#F9FFFE}.dark-theme .page .post-content .mermaid .sectionTitle3{fill:#F9FFFE}.dark-theme .page .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 .page .post-content .mermaid .grid .tick{stroke:#d3d3d3;opacity:0.3;shape-rendering:crispEdges}.dark-theme .page .post-content .mermaid .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid .grid path{stroke-width:0}.dark-theme .page .post-content .mermaid .today{fill:none;stroke:#DB5757;stroke-width:2px}.dark-theme .page .post-content .mermaid .task{stroke-width:2}.dark-theme .page .post-content .mermaid .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid .taskText:not([font-size]){font-size:11px}.dark-theme .page .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 .page .post-content .mermaid .taskTextOutsideLeft{fill:#323D47;text-anchor:end;font-size:11px}.dark-theme .page .post-content .mermaid .task.clickable{cursor:pointer}.dark-theme .page .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.dark-theme .page .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.dark-theme .page .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.dark-theme .page .post-content .mermaid .taskText0,.dark-theme .page .post-content .mermaid .taskText1,.dark-theme .page .post-content .mermaid .taskText2,.dark-theme .page .post-content .mermaid .taskText3{fill:#323D47}.dark-theme .page .post-content .mermaid .task0,.dark-theme .page .post-content .mermaid .task1,.dark-theme .page .post-content .mermaid .task2,.dark-theme .page .post-content .mermaid .task3{fill:#BDD5EA;stroke:rgba(255,255,255,0.5)}.dark-theme .page .post-content .mermaid .taskTextOutside0,.dark-theme .page .post-content .mermaid .taskTextOutside2{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .taskTextOutside1,.dark-theme .page .post-content .mermaid .taskTextOutside3{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .active0,.dark-theme .page .post-content .mermaid .active1,.dark-theme .page .post-content .mermaid .active2,.dark-theme .page .post-content .mermaid .active3{fill:#81B1DB;stroke:rgba(255,255,255,0.5)}.dark-theme .page .post-content .mermaid .activeText0,.dark-theme .page .post-content .mermaid .activeText1,.dark-theme .page .post-content .mermaid .activeText2,.dark-theme .page .post-content .mermaid .activeText3{fill:#323D47 !important}.dark-theme .page .post-content .mermaid .done0,.dark-theme .page .post-content .mermaid .done1,.dark-theme .page .post-content .mermaid .done2,.dark-theme .page .post-content .mermaid .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.dark-theme .page .post-content .mermaid .doneText0,.dark-theme .page .post-content .mermaid .doneText1,.dark-theme .page .post-content .mermaid .doneText2,.dark-theme .page .post-content .mermaid .doneText3{fill:#323D47 !important}.dark-theme .page .post-content .mermaid .crit0,.dark-theme .page .post-content .mermaid .crit1,.dark-theme .page .post-content .mermaid .crit2,.dark-theme .page .post-content .mermaid .crit3{stroke:#E83737;fill:#E83737;stroke-width:2}.dark-theme .page .post-content .mermaid .activeCrit0,.dark-theme .page .post-content .mermaid .activeCrit1,.dark-theme .page .post-content .mermaid .activeCrit2,.dark-theme .page .post-content .mermaid .activeCrit3{stroke:#E83737;fill:#81B1DB;stroke-width:2}.dark-theme .page .post-content .mermaid .doneCrit0,.dark-theme .page .post-content .mermaid .doneCrit1,.dark-theme .page .post-content .mermaid .doneCrit2,.dark-theme .page .post-content .mermaid .doneCrit3{stroke:#E83737;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.dark-theme .page .post-content .mermaid .milestone{transform:rotate(45deg) scale(0.8, 0.8)}.dark-theme .page .post-content .mermaid .milestoneText{font-style:italic}.dark-theme .page .post-content .mermaid .doneCritText0,.dark-theme .page .post-content .mermaid .doneCritText1,.dark-theme .page .post-content .mermaid .doneCritText2,.dark-theme .page .post-content .mermaid .doneCritText3{fill:#323D47 !important}.dark-theme .page .post-content .mermaid .activeCritText0,.dark-theme .page .post-content .mermaid .activeCritText1,.dark-theme .page .post-content .mermaid .activeCritText2,.dark-theme .page .post-content .mermaid .activeCritText3{fill:#323D47 !important}.dark-theme .page .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 .page .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 .page .post-content .mermaid g.classGroup text .title{font-weight:bolder}.dark-theme .page .post-content .mermaid g.classGroup rect{fill:#BDD5EA;stroke:purple}.dark-theme .page .post-content .mermaid g.classGroup line{stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#BDD5EA;opacity:0.5}.dark-theme .page .post-content .mermaid .classLabel .label{fill:purple;font-size:10px}.dark-theme .page .post-content .mermaid .relation{stroke:purple;stroke-width:1;fill:none}.dark-theme .page .post-content .mermaid #compositionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #compositionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #aggregationStart{fill:#BDD5EA;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #aggregationEnd{fill:#BDD5EA;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #dependencyStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #dependencyEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #extensionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #extensionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid .commit-id,.dark-theme .page .post-content .mermaid .commit-msg,.dark-theme .page .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .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 .page .post-content .mermaid .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .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 .page .post-content .mermaid g.stateGroup text{fill:purple;stroke:none;font-size:10px}.dark-theme .page .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.dark-theme .page .post-content .mermaid g.stateGroup rect{fill:#BDD5EA;stroke:purple}.dark-theme .page .post-content .mermaid g.stateGroup line{stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid .transition{stroke:purple;stroke-width:1;fill:none}.dark-theme .page .post-content .mermaid .stateGroup .composit{fill:white;border-bottom:1px}.dark-theme .page .post-content .mermaid .state-note{stroke:rgba(255,255,255,0.25);fill:#fff5ad}.dark-theme .page .post-content .mermaid .state-note text{fill:black;stroke:none;font-size:10px}.dark-theme .page .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#BDD5EA;opacity:0.5}.dark-theme .page .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.dark-theme .page .post-content .aplayer{background:#212121}.dark-theme .page .post-content .aplayer.aplayer-withlist .aplayer-info{border-bottom-color:#5c5c5c}.dark-theme .page .post-content .aplayer.aplayer-fixed .aplayer-list{border-color:#5c5c5c}.dark-theme .page .post-content .aplayer .aplayer-body{background-color:#212121}.dark-theme .page .post-content .aplayer .aplayer-info{border-top-color:#212121}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-music .aplayer-title{color:#fff}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-music .aplayer-author{color:#fff}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-controller .aplayer-time{color:#eee}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:#eee}.dark-theme .page .post-content .aplayer .aplayer-list{background-color:#212121}.dark-theme .page .post-content .aplayer .aplayer-list::-webkit-scrollbar-thumb{background-color:#999}.dark-theme .page .post-content .aplayer .aplayer-list::-webkit-scrollbar-thumb:hover{background-color:#bbb}.dark-theme .page .post-content .aplayer .aplayer-list li{color:#fff;border-top-color:#666}.dark-theme .page .post-content .aplayer .aplayer-list li:hover{background:#4e4e4e}.dark-theme .page .post-content .aplayer .aplayer-list li.aplayer-list-light{background:#6c6c6c}.dark-theme .page .post-content .aplayer .aplayer-list li .aplayer-list-index{color:#ddd}.dark-theme .page .post-content .aplayer .aplayer-list li .aplayer-list-author{color:#ddd}.dark-theme .page .post-content .aplayer .aplayer-lrc{text-shadow:-1px -1px 0 #666}.dark-theme .page .post-content .aplayer .aplayer-lrc:before{background:-moz-linear-gradient(top, #212121 0%, rgba(33,33,33,0) 100%);background:-webkit-linear-gradient(top, #212121 0%, rgba(33,33,33,0) 100%);background:linear-gradient(to bottom, #212121 0%, rgba(33,33,33,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#212121', endColorstr='#00212121',GradientType=0 )}.dark-theme .page .post-content .aplayer .aplayer-lrc:after{background:-moz-linear-gradient(top, rgba(33,33,33,0) 0%, rgba(33,33,33,0.8) 100%);background:-webkit-linear-gradient(top, rgba(33,33,33,0) 0%, rgba(33,33,33,0.8) 100%);background:linear-gradient(to bottom, rgba(33,33,33,0) 0%, rgba(33,33,33,0.8) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00212121', endColorstr='#cc212121',GradientType=0 )}.dark-theme .page .post-content .aplayer .aplayer-lrc p{color:#fff}.dark-theme .page .post-content .aplayer .aplayer-miniswitcher{background:#484848}.dark-theme .page .post-content .aplayer .aplayer-miniswitcher .aplayer-icon path{fill:#eee}.page .post-content .echarts{width:100%;height:30rem;margin:3% auto;text-align:center}.page .post-content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.page .post-content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.page .post-content hr{margin:1rem 0;position:relative;border-top:1px dashed #dcdcdc;border-bottom:none}.dark-theme .page .post-content hr{border-top:1px dashed #4a4b50}.page .post-content kbd{display:inline-block;padding:.25rem;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:.8rem;font-family:Fira Mono,Source Code Pro,Menlo,Consolas,Monaco,monospace;color:#E74C3C}.dark-theme .page .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}.page .post-content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Fira Mono,Source Code Pro,Menlo,Consolas,Monaco,monospace;font-weight:bold;word-break:break-all}.page .post-content .align-left{text-align:left}.page .post-content .align-center{text-align:center}.page .post-content .align-right{text-align:right}.page .post-content .float-left{float:left}.page .post-content .float-right{float:right}.page .post-footer{margin-top:3rem}.page .post-footer .post-info{border-bottom:1px solid #dcdcdc;padding:1rem 0 0.3rem}.dark-theme .page .post-footer .post-info{border-bottom:1px solid #4a4b50}.page .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.page .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}.dark-theme .page .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.page .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark-theme .page .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.page .post-footer .post-info .post-info-line .post-info-md a{font-size:0.8em;color:#2d96bd}.dark-theme .page .post-footer .post-info .post-info-line .post-info-md a{color:#eee}.page .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark-theme .page .post-footer .post-info .post-info-line .post-info-md a:hover{color:#2d96bd}.page .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.page .post-footer .post-nav::before,.page .post-footer .post-nav::after{content:' ';display:table}.page .post-footer .post-nav a.prev,.page .post-footer .post-nav a.next{font-size:1rem;font-weight:600;transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}.page .post-footer .post-nav a.prev{float:left}.page .post-footer .post-nav a.prev:hover{transform:translateX(-4px)}.page .post-footer .post-nav a.next{float:right}.page .post-footer .post-nav a.next:hover{transform:translateX(4px)}.page .post-comment{padding:4rem 0}.page .home-intro{transform:translateY(0);padding:2rem 0 2rem 0}.page .home-intro .home-avatar img{width:6rem}.page .post{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #dcdcdc}.dark-theme .page .post{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.page .post .post-featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto}.page .post .post-featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.page .post .post-title{font-size:1.6rem}.page .post .post-meta{font-size:.875rem !important}.page .post .post-meta a{color:#a9a9b3 !important}.dark-theme .page .post .post-meta a{color:#5d5d5f !important}.page .post .post-meta a:hover{color:#2d96bd !important}.dark-theme .page .post .post-meta a:hover{color:#fff !important}.page .post .post-content{display:-webkit-box;margin-top:.3rem;width:100%;max-height:10rem;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.page .post .post-content h2,.page .post .post-content h3,.page .post .post-content h4,.page .post .post-content h5,.page .post .post-content h6,.page .post .post-content p{font-size:1rem;margin:0;padding:.2rem 0;overflow:hidden;overflow-wrap:break-word;text-overflow:ellipsis}.page .post .post-content a{word-break:break-all}.page .post .post-footer{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem !important}.page .post .post-footer a{color:#2d96bd !important}.dark-theme .page .post .post-footer a{color:#eee !important}.page .post .post-footer a:hover{color:#ef3982 !important}.dark-theme .page .post .post-footer a:hover{color:#2d96bd !important}.page .post .post-footer .post-tags{padding:0}.page .post .post-footer .post-tags a{color:#161209 !important}.dark-theme .page .post .post-footer .post-tags a{color:#a9a9b3 !important}.page .post .post-footer .post-tags a:hover{color:#2d96bd !important}.dark-theme .page .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 .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.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 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}.dark-theme .archive .archive-item-link:hover{color:#fff;text-decoration:none;transition:color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}.archive .archive-item-date{float:right;text-align:right;color:#a9a9b3}.dark-theme .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.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 4rem;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 0.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:0px 2px 4px rgba(0,0,0,0.1),0px 4px 8px rgba(0,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%}.copyright .copyright-line .icp-br{display:none}.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:bold;padding:1rem 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,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") no-repeat center center}.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 5px;text-decoration:none;transition:0.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:0.3s;bottom:0px}.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){.page{max-width:780px}.page .post-toc{width:300px;margin-left:800px}}@media only screen and (max-width: 1440px){.page{max-width:680px}.page .post-toc{width:240px;margin-left:700px}}@media only screen and (max-width: 1200px){.page{max-width:560px}.page .post-toc{width:180px;margin-left:580px}}@media only screen and (max-width: 960px){.navbar .navbar-container{margin:0 1rem}.page{max-width:80%}.page .post-toc{display:none}.page .post-toc-mobile{display:block}}@media only screen and (max-width: 560px){.navbar{display:none}.navbar-mobile{display:block}.page{max-width:100%}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}.dynamic-to-top{display:none !important}} /*# sourceMappingURL=style.min.css.map */ \ No newline at end of file diff --git a/resources/_gen/assets/scss/css/style.scss_d75fd08668b4bae707167bbce4d8ca46.content b/resources/_gen/assets/scss/css/style.scss_d75fd08668b4bae707167bbce4d8ca46.content index 909c9bc..cf0b90c 100644 --- a/resources/_gen/assets/scss/css/style.scss_d75fd08668b4bae707167bbce4d8ca46.content +++ b/resources/_gen/assets/scss/css/style.scss_d75fd08668b4bae707167bbce4d8ca46.content @@ -1,3 +1,3 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.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:-0.25em}sup{top:-0.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:0.35em 0.75em 0.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:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft Yahei,Segoe UI,Helvetica,Arial,sans-serif,Segoe UI Emoji}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background:rgba(38,139,211,0.2)}.dark-theme ::selection{background:rgba(38,139,211,0.3)}body{font-size:16px;font-weight:400;line-height:1.5rem;background-color:#fff;color:#161209}body::before{content:"";background-repeat:no-repeat;background-position:center;opacity:0.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 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.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:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}.home-intro{transform:translateY(25vh);text-align:center}.home-intro .home-avatar{padding:0.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 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);margin:0 auto;-webkit-transition:all ease 0.4s;-moz-transition:all ease 0.4s;-o-transition:all ease 0.4s;transition:all ease 0.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:normal;margin:0;padding:.4rem}.home-intro .home-social-links{padding-top:.6rem}.home-intro .home-social-links i{font-size:1.45rem}.home-intro .home-social-links img{width:1.5rem;height:1.5rem}.notfound{font-size:1.8rem;line-height:3rem;transform:translateY(30vh);text-align:center}.page{position:relative;width:100%;max-width:980px;margin:0 auto;padding-top:6rem}.page .post-title{margin:0 !important;font-size:1.8rem;line-height:3rem}.page .post-meta{font-size:.88rem;color:#a9a9b3}.page .post-meta span{display:inline-block}.dark-theme .page .post-meta{color:#5d5d5f}.page .post-meta a{color:#2d96bd}.dark-theme .page .post-meta a{color:#eee}.page .post-meta a:hover{color:#ef3982}.dark-theme .page .post-meta a:hover{color:#2d96bd}.page .post-meta .author{font-size:1.05rem}.page .post-featured-image{padding-top:.6rem}.page .post-featured-image img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.page .post-toc{display:block;position:absolute;width:360px;margin-left:1000px;padding:0 .8rem;border-left:1px solid #dcdcdc;word-wrap:break-word;box-sizing:border-box;top:12rem}.dark-theme .page .post-toc{border-left:1px solid #4a4b50}.page .post-toc .post-toc-title{font-weight:400;margin:.8rem 0;text-transform:uppercase}.page .post-toc .post-toc-content.always-active ul{display:block}.page .post-toc .post-toc-content>nav>ul{margin:.625rem 0}.page .post-toc .post-toc-content ul{text-indent:-0.85rem;padding-left:.625rem;list-style:none}.page .post-toc .post-toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark-theme .page .post-toc .post-toc-content ul a::before{color:#eee}.page .post-toc .post-toc-content ul ul{padding-left:1.25rem;display:none}.page .post-toc .post-toc-content ul .has-active>ul{display:block}.page .post-toc .post-toc-content .toc-link.active{font-weight:bold;color:#ef3982}.dark-theme .page .post-toc .post-toc-content .toc-link.active{color:#2d96bd}.page .post-toc .post-toc-content .toc-link.active::before{font-weight:bolder;color:#ef3982}.dark-theme .page .post-toc .post-toc-content .toc-link.active::before{color:#2d96bd}.page .post-toc-mobile{display:none;padding-top:.8rem}.page .post-toc-mobile details summary .post-toc-title{display:block;display:flex;justify-content:space-between;font-size:1.2em;font-weight:bold;line-height:2em;padding:0 .625rem;background:#f5f5f5}.page .post-toc-mobile details summary .post-toc-title i.details{line-height:2em}.dark-theme .page .post-toc-mobile details summary .post-toc-title{background:#272C34}.page .post-toc-mobile details summary::-webkit-details-marker{display:none}.page .post-toc-mobile details[open] i.details{transform:rotate(180deg)}.page .post-toc-mobile .post-toc-content{border:2px solid #f5f5f5}.page .post-toc-mobile .post-toc-content>nav>ul{margin:.625rem 0}.page .post-toc-mobile .post-toc-content ul{padding-left:.625rem;list-style:none}.page .post-toc-mobile .post-toc-content ul ul{padding-left:1.25rem}.dark-theme .page .post-toc-mobile .post-toc-content{border:2px solid #272C34}.page .post-content .post-dummy-target:target{display:inline-block;position:relative;top:-5.6rem;visibility:hidden}.page .post-content h1,.page .post-content h2,.page .post-content h3,.page .post-content h4,.page .post-content h5,.page .post-content h6{font-weight:bold}.dark-theme .page .post-content h1,.dark-theme .page .post-content h2,.dark-theme .page .post-content h3,.dark-theme .page .post-content h4,.dark-theme .page .post-content h5,.dark-theme .page .post-content h6{font-weight:bolder}.page .post-content h2,.page .post-content h3,.page .post-content h4,.page .post-content h5,.page .post-content h6{padding-top:.8rem;padding-bottom:.3rem}.page .post-content h2::before{content:"#";margin-right:.3125rem;color:#2d96bd}.dark-theme .page .post-content h2::before{color:#eee}.page .post-content h3::before,.page .post-content h4::before,.page .post-content h5::before,.page .post-content h6::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark-theme .page .post-content h3::before,.dark-theme .page .post-content h4::before,.dark-theme .page .post-content h5::before,.dark-theme .page .post-content h6::before{color:#eee}.page .post-content p{font-size:1rem;margin:.5rem 0}.page .post-content a{color:#2d96bd}.dark-theme .page .post-content a{color:#eee}.page .post-content a:hover{color:#ef3982}.dark-theme .page .post-content a:hover:hover{color:#2d96bd;font-weight:bold}.page .post-content ul{padding-left:2rem;list-style-type:disc}.page .post-content ruby{background:#f5f5f5}.page .post-content ruby rt{color:#a9a9b3}.dark-theme .page .post-content ruby{background:#272C34}.dark-theme .page .post-content ruby rt{color:#5d5d5f}.page .post-content .table-wrapper{overflow-x:auto}.page .post-content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark-theme .page .post-content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.page .post-content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff}.dark-theme .page .post-content .table-wrapper>table{background:#272c34}.page .post-content .table-wrapper>table thead{background:#ededed}.dark-theme .page .post-content .table-wrapper>table thead{background-color:#20252b}.page .post-content .table-wrapper>table th,.page .post-content .table-wrapper>table td{padding:.3rem 1rem;border:1px double #dcdcdc}.dark-theme .page .post-content .table-wrapper>table th,.dark-theme .page .post-content .table-wrapper>table td{border:1px double #4a4b50}.page .post-content figure{text-align:center}.page .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}.page .post-content img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.page .post-content blockquote{font-size:1rem;display:block;border-width:1px 0;border-style:solid;border-color:#dcdcdc;padding:1.5em 1.2em 0.5em 1.2em;margin:0 0 2em 0;position:relative}.page .post-content blockquote::before{content:'\201C';position:absolute;top:0em;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 .page .post-content blockquote::before{color:#eee}.page .post-content blockquote::after{content:"#blockquote" attr(cite);display:block;text-align:right;font-size:0.875em;color:#2d96bd}.dark-theme .page .post-content blockquote::after{color:#eee}.dark-theme .page .post-content blockquote{border-color:#4a4b50}.page .post-content .footnotes{color:#a9a9b3}.dark-theme .page .post-content .footnotes{color:#5d5d5f}.page .post-content code{font-size:13px;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;padding:.2rem .4rem;color:#E74C3C}.dark-theme .page .post-content code{color:#E5BF78}.page .post-content code,.page .post-content pre,.page .post-content .highlight table,.page .post-content .highlight tr,.page .post-content .highlight td{background:#f5f5f5}.dark-theme .page .post-content code,.dark-theme .page .post-content pre,.dark-theme .page .post-content .highlight table,.dark-theme .page .post-content .highlight tr,.dark-theme .page .post-content .highlight td{background:#272C34}.page .post-content .highlight>.chroma{margin:1rem 0;line-height:18px}.page .post-content .highlight>.chroma code,.page .post-content .highlight>.chroma pre{margin:0;padding:0}.page .post-content .highlight>.chroma::before{display:block;padding:.4rem;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft Yahei,Segoe UI,Helvetica,Arial,sans-serif,Segoe UI Emoji;font-size:13px;font-weight:bold;color:#b1b0b0;background:#ededed;content:'Code'}.dark-theme .page .post-content .highlight>.chroma::before{color:#b1b0b0;background:#20252b}.page .post-content .highlight>.chroma.language-bash::before{content:"Bash"}.page .post-content .highlight>.chroma.language-c::before{content:"C"}.page .post-content .highlight>.chroma.language-cs::before{content:"C#"}.page .post-content .highlight>.chroma.language-cpp::before{content:"C++"}.page .post-content .highlight>.chroma.language-clojure::before{content:"Clojure"}.page .post-content .highlight>.chroma.language-coffeescript::before{content:"CoffeeScript"}.page .post-content .highlight>.chroma.language-css::before{content:"CSS"}.page .post-content .highlight>.chroma.language-dart::before{content:"Dart"}.page .post-content .highlight>.chroma.language-diff::before{content:"Diff"}.page .post-content .highlight>.chroma.language-erlang::before{content:"Erlang"}.page .post-content .highlight>.chroma.language-go::before{content:"Go"}.page .post-content .highlight>.chroma.language-go-html-template::before{content:"Go HTML Template"}.page .post-content .highlight>.chroma.language-groovy::before{content:"Groovy"}.page .post-content .highlight>.chroma.language-haskell::before{content:"Haskell"}.page .post-content .highlight>.chroma.language-html::before{content:"HTML"}.page .post-content .highlight>.chroma.language-http::before{content:"HTTP"}.page .post-content .highlight>.chroma.language-xml::before{content:"XML"}.page .post-content .highlight>.chroma.language-java::before{content:"Java"}.page .post-content .highlight>.chroma.language-js::before{content:"JavaScript"}.page .post-content .highlight>.chroma.language-javascript::before{content:"JavaScript"}.page .post-content .highlight>.chroma.language-json::before{content:"JSON"}.page .post-content .highlight>.chroma.language-kotlin::before{content:"Kotlin"}.page .post-content .highlight>.chroma.language-latex::before{content:"LaTeX"}.page .post-content .highlight>.chroma.language-less::before{content:"Less"}.page .post-content .highlight>.chroma.language-lisp::before{content:"Lisp"}.page .post-content .highlight>.chroma.language-lua::before{content:"Lua"}.page .post-content .highlight>.chroma.language-makefile::before{content:"Makefile"}.page .post-content .highlight>.chroma.language-markdown::before{content:"Markdown"}.page .post-content .highlight>.chroma.language-matlab::before{content:"Matlab"}.page .post-content .highlight>.chroma.language-objectivec::before{content:"Objective-C"}.page .post-content .highlight>.chroma.language-php::before{content:"PHP"}.page .post-content .highlight>.chroma.language-perl::before{content:"Perl"}.page .post-content .highlight>.chroma.language-python::before{content:"Python"}.page .post-content .highlight>.chroma.language-r::before{content:"R"}.page .post-content .highlight>.chroma.language-ruby::before{content:"Ruby"}.page .post-content .highlight>.chroma.language-rust::before{content:"Rust"}.page .post-content .highlight>.chroma.language-scala::before{content:"Scala"}.page .post-content .highlight>.chroma.language-scss::before{content:"Scss"}.page .post-content .highlight>.chroma.language-shell::before{content:"Shell"}.page .post-content .highlight>.chroma.language-sql::before{content:"SQL"}.page .post-content .highlight>.chroma.language-swift::before{content:"Swift"}.page .post-content .highlight>.chroma.language-tex::before{content:"TeX"}.page .post-content .highlight>.chroma.language-toml::before{content:"TOML"}.page .post-content .highlight>.chroma.language-ts::before{content:"TypeScript"}.page .post-content .highlight>.chroma.language-typescript::before{content:"TypeScript"}.page .post-content .highlight>.chroma.language-vue::before{content:"Vue"}.page .post-content .highlight>.chroma.language-yml::before{content:"YAML"}.page .post-content .highlight>.chroma.language-yaml::before{content:"YAML"}.page .post-content .highlight>.chroma table,.page .post-content .highlight>.chroma tr,.page .post-content .highlight>.chroma td{margin:0;border:none !important}.page .post-content .highlight>.chroma td{padding:.2rem .4rem}.page .post-content .highlight>.chroma .lntd:first-child{width:1.2rem}.page .post-content .highlight>.chroma .lntd:first-child .lnt{color:#b1b0b0}.page .post-content .highlight>.chroma .lntd:first-child .hl{font-weight:bolder}.page .post-content .highlight>.chroma .lntd:last-child .hl{display:block;background-color:#e8e8e8}.dark-theme .page .post-content .highlight>.chroma .lntd:last-child .hl{background-color:#1c2025}.page .post-content .highlight{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace}.page .post-content .highlight .c,.page .post-content .highlight .ch,.page .post-content .highlight .cm,.page .post-content .highlight .c1,.page .post-content .highlight .cs,.page .post-content .highlight .cp,.page .post-content .highlight .cpf{font-style:italic}.page .post-content .highlight .gl{text-decoration:underline}.page .post-content .highlight .p{color:#a9a9b3}.page .post-content .highlight .k{color:#b501a9}.page .post-content .highlight .kc{color:#b501a9}.page .post-content .highlight .kd{color:#b501a9}.page .post-content .highlight .kn{color:#b501a9}.page .post-content .highlight .kp{color:#b501a9}.page .post-content .highlight .kr{color:#b501a9}.page .post-content .highlight .kt{color:#b501a9}.page .post-content .highlight .n{color:#333}.page .post-content .highlight .na{color:#2b77fa}.page .post-content .highlight .nb{color:#f74840}.page .post-content .highlight .bp{color:#f74840}.page .post-content .highlight .nc{color:#cb8100}.page .post-content .highlight .no{color:#2b77fa}.page .post-content .highlight .nd{color:#0086c1}.page .post-content .highlight .ni{color:#2b77fa}.page .post-content .highlight .ne{color:#2b77fa}.page .post-content .highlight .nf{color:#2b77fa}.page .post-content .highlight .fm{color:#1ccad6}.page .post-content .highlight .nl{color:#2b77fa}.page .post-content .highlight .nn{color:#2b77fa}.page .post-content .highlight .nx{color:#333}.page .post-content .highlight .py{color:#2b77fa}.page .post-content .highlight .nt{color:#2b77fa}.page .post-content .highlight .nv{color:#2b77fa}.page .post-content .highlight .vc{color:#2b77fa}.page .post-content .highlight .vg{color:#2b77fa}.page .post-content .highlight .vi{color:#2b77fa}.page .post-content .highlight .vm{color:#2b77fa}.page .post-content .highlight .l{color:#2aa198}.page .post-content .highlight .ld{color:#2aa198}.page .post-content .highlight .s{color:#24a443}.page .post-content .highlight .sa{color:#24a443}.page .post-content .highlight .sb{color:#24a443}.page .post-content .highlight .sc{color:#24a443}.page .post-content .highlight .dl{color:#24a443}.page .post-content .highlight .sd{color:#24a443}.page .post-content .highlight .s2{color:#24a443}.page .post-content .highlight .se{color:#24a443}.page .post-content .highlight .sh{color:#24a443}.page .post-content .highlight .si{color:#24a443}.page .post-content .highlight .sx{color:#24a443}.page .post-content .highlight .sr{color:#24a443}.page .post-content .highlight .s1{color:#24a443}.page .post-content .highlight .ss{color:#24a443}.page .post-content .highlight .m{color:#e2893c}.page .post-content .highlight .mb{color:#e2893c}.page .post-content .highlight .mf{color:#e2893c}.page .post-content .highlight .mh{color:#e2893c}.page .post-content .highlight .mi{color:#e2893c}.page .post-content .highlight .il{color:#e2893c}.page .post-content .highlight .mo{color:#e2893c}.page .post-content .highlight .o{color:#f19b04}.page .post-content .highlight .ow{color:#b501a9}.page .post-content .highlight .c{color:#a0a1a8}.page .post-content .highlight .ch{color:#a0a1a8}.page .post-content .highlight .cm{color:#a0a1a8}.page .post-content .highlight .c1{color:#a0a1a8}.page .post-content .highlight .cs{color:#a0a1a8}.page .post-content .highlight .cp{color:#a0a1a8}.page .post-content .highlight .cpf{color:#a0a1a8}.page .post-content .highlight .g{color:#e72d40}.page .post-content .highlight .gd{color:#e72d40}.page .post-content .highlight .ge{color:#e72d40}.page .post-content .highlight .gr{color:#e72d40}.page .post-content .highlight .gh{color:#e72d40}.page .post-content .highlight .gi{color:#e72d40}.page .post-content .highlight .go{color:#e72d40}.page .post-content .highlight .gp{color:#e72d40}.page .post-content .highlight .gs{color:#e72d40}.page .post-content .highlight .gu{color:#e72d40}.page .post-content .highlight .gt{color:#e72d40}.page .post-content .highlight .w{color:#bbb}.dark-theme .page .post-content .highlight .p{color:#a9a9b3}.dark-theme .page .post-content .highlight .k{color:#d371e3}.dark-theme .page .post-content .highlight .kc{color:#d371e3}.dark-theme .page .post-content .highlight .kd{color:#d371e3}.dark-theme .page .post-content .highlight .kn{color:#d371e3}.dark-theme .page .post-content .highlight .kp{color:#d371e3}.dark-theme .page .post-content .highlight .kr{color:#d371e3}.dark-theme .page .post-content .highlight .kt{color:#d371e3}.dark-theme .page .post-content .highlight .n{color:#a9b2c0}.dark-theme .page .post-content .highlight .na{color:#41b0f5}.dark-theme .page .post-content .highlight .nb{color:#19b9c4}.dark-theme .page .post-content .highlight .bp{color:#ecbf6f}.dark-theme .page .post-content .highlight .nc{color:#ecbf6f}.dark-theme .page .post-content .highlight .no{color:#41b0f5}.dark-theme .page .post-content .highlight .nd{color:#ecbf6f}.dark-theme .page .post-content .highlight .ni{color:#41b0f5}.dark-theme .page .post-content .highlight .ne{color:#41b0f5}.dark-theme .page .post-content .highlight .nf{color:#41b0f5}.dark-theme .page .post-content .highlight .fm{color:#19b9c4}.dark-theme .page .post-content .highlight .nl{color:#41b0f5}.dark-theme .page .post-content .highlight .nn{color:#41b0f5}.dark-theme .page .post-content .highlight .nx{color:#a9a9b3}.dark-theme .page .post-content .highlight .py{color:#41b0f5}.dark-theme .page .post-content .highlight .nt{color:#41b0f5}.dark-theme .page .post-content .highlight .nv{color:#41b0f5}.dark-theme .page .post-content .highlight .vc{color:#41b0f5}.dark-theme .page .post-content .highlight .vg{color:#41b0f5}.dark-theme .page .post-content .highlight .vi{color:#41b0f5}.dark-theme .page .post-content .highlight .vm{color:#41b0f5}.dark-theme .page .post-content .highlight .l{color:#2aa198}.dark-theme .page .post-content .highlight .ld{color:#2aa198}.dark-theme .page .post-content .highlight .s{color:#8cc570}.dark-theme .page .post-content .highlight .sa{color:#8cc570}.dark-theme .page .post-content .highlight .sb{color:#8cc570}.dark-theme .page .post-content .highlight .sc{color:#8cc570}.dark-theme .page .post-content .highlight .dl{color:#8cc570}.dark-theme .page .post-content .highlight .sd{color:#8cc570}.dark-theme .page .post-content .highlight .s2{color:#8cc570}.dark-theme .page .post-content .highlight .se{color:#8cc570}.dark-theme .page .post-content .highlight .sh{color:#8cc570}.dark-theme .page .post-content .highlight .si{color:#8cc570}.dark-theme .page .post-content .highlight .sx{color:#8cc570}.dark-theme .page .post-content .highlight .sr{color:#8cc570}.dark-theme .page .post-content .highlight .s1{color:#8cc570}.dark-theme .page .post-content .highlight .ss{color:#8cc570}.dark-theme .page .post-content .highlight .m{color:#db985c}.dark-theme .page .post-content .highlight .mb{color:#db985c}.dark-theme .page .post-content .highlight .mf{color:#db985c}.dark-theme .page .post-content .highlight .mh{color:#db985c}.dark-theme .page .post-content .highlight .mi{color:#db985c}.dark-theme .page .post-content .highlight .il{color:#db985c}.dark-theme .page .post-content .highlight .mo{color:#db985c}.dark-theme .page .post-content .highlight .o{color:#ecbf6f}.dark-theme .page .post-content .highlight .ow{color:#d371e3}.dark-theme .page .post-content .highlight .c{color:#7e848f}.dark-theme .page .post-content .highlight .ch{color:#7e848f}.dark-theme .page .post-content .highlight .cm{color:#7e848f}.dark-theme .page .post-content .highlight .c1{color:#7e848f}.dark-theme .page .post-content .highlight .cs{color:#7e848f}.dark-theme .page .post-content .highlight .cp{color:#7e848f}.dark-theme .page .post-content .highlight .cpf{color:#7e848f}.dark-theme .page .post-content .highlight .g{color:#f16372}.dark-theme .page .post-content .highlight .gd{color:#f16372}.dark-theme .page .post-content .highlight .ge{color:#f16372}.dark-theme .page .post-content .highlight .gr{color:#f16372}.dark-theme .page .post-content .highlight .gh{color:#f16372}.dark-theme .page .post-content .highlight .gi{color:#f16372}.dark-theme .page .post-content .highlight .go{color:#f16372}.dark-theme .page .post-content .highlight .gp{color:#f16372}.dark-theme .page .post-content .highlight .gs{color:#f16372}.dark-theme .page .post-content .highlight .gu{color:#f16372}.dark-theme .page .post-content .highlight .gt{color:#f16372}.dark-theme .page .post-content .highlight .w{color:#bbb}.page .post-content .admonition{position:relative;margin:.9765em 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.page .post-content .admonition .admonition-title{margin:0 -0.75rem;padding:.5rem .75rem .5rem 2.5rem;border-bottom:0.1rem solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1);font-weight:700}.page .post-content .admonition i.icon{font-size:16px;color:#448aff;cursor:auto;position:absolute;left:.75rem;top:.75rem}.page .post-content .admonition.note{border-left-color:#448aff}.page .post-content .admonition.note i.icon{color:#448aff}.page .post-content .admonition.abstract{border-left-color:#00b0ff}.page .post-content .admonition.abstract i.icon{color:#00b0ff}.page .post-content .admonition.info{border-left-color:#00b8d4}.page .post-content .admonition.info i.icon{color:#00b8d4}.page .post-content .admonition.tip{border-left-color:#00bfa5}.page .post-content .admonition.tip i.icon{color:#00bfa5}.page .post-content .admonition.success{border-left-color:#00c853}.page .post-content .admonition.success i.icon{color:#00c853}.page .post-content .admonition.question{border-left-color:#64dd17}.page .post-content .admonition.question i.icon{color:#64dd17}.page .post-content .admonition.warning{border-left-color:#ff9100}.page .post-content .admonition.warning i.icon{color:#ff9100}.page .post-content .admonition.failure{border-left-color:#ff5252}.page .post-content .admonition.failure i.icon{color:#ff5252}.page .post-content .admonition.danger{border-left-color:#ff1744}.page .post-content .admonition.danger i.icon{color:#ff1744}.page .post-content .admonition.bug{border-left-color:#f50057}.page .post-content .admonition.bug i.icon{color:#f50057}.page .post-content .admonition.example{border-left-color:#651fff}.page .post-content .admonition.example i.icon{color:#651fff}.page .post-content .admonition.quote{border-left-color:#9e9e9e}.page .post-content .admonition.quote i.icon{color:#9e9e9e}.page .post-content .admonition.note{background-color:rgba(68,138,255,0.1)}.page .post-content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.page .post-content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.page .post-content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.1)}.page .post-content .admonition.info{background-color:rgba(0,184,212,0.1)}.page .post-content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.1)}.page .post-content .admonition.tip{background-color:rgba(0,191,165,0.1)}.page .post-content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.1)}.page .post-content .admonition.success{background-color:rgba(0,200,83,0.1)}.page .post-content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.1)}.page .post-content .admonition.question{background-color:rgba(100,221,23,0.1)}.page .post-content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.1)}.page .post-content .admonition.warning{background-color:rgba(255,145,0,0.1)}.page .post-content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.1)}.page .post-content .admonition.failure{background-color:rgba(255,82,82,0.1)}.page .post-content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.1)}.page .post-content .admonition.danger{background-color:rgba(255,23,68,0.1)}.page .post-content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.1)}.page .post-content .admonition.bug{background-color:rgba(245,0,87,0.1)}.page .post-content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.1)}.page .post-content .admonition.example{background-color:rgba(101,31,255,0.1)}.page .post-content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.1)}.page .post-content .admonition.quote{background-color:rgba(158,158,158,0.1)}.page .post-content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.page .post-content .admonition:last-child{margin-bottom:.75rem}.page .post-content details.admonition summary{display:block;outline:none;cursor:pointer}.page .post-content details.admonition summary::-webkit-details-marker{display:none}.page .post-content details.admonition summary i.details{position:absolute;top:.75rem;right:.75rem;color:#161209}.dark-theme .page .post-content details.admonition summary i.details{color:#a9a9b3}.page .post-content details.admonition[open] i.details{transform:rotate(180deg)}.page .post-content .mermaid{width:100%;margin:3% auto;text-align:center}.page .post-content .mermaid .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.page .post-content .mermaid .label text{fill:#333}.page .post-content .mermaid .node rect,.page .post-content .mermaid .node circle,.page .post-content .mermaid .node ellipse,.page .post-content .mermaid .node polygon{fill:#eee;stroke:#999;stroke-width:1px}.page .post-content .mermaid .node .label{text-align:center}.page .post-content .mermaid .node.clickable{cursor:pointer}.page .post-content .mermaid .arrowheadPath{fill:#333}.page .post-content .mermaid .edgePath .path{stroke:#666;stroke-width:1.5px}.page .post-content .mermaid .edgeLabel{background-color:#fff;text-align:center}.page .post-content .mermaid .cluster rect{fill:#eaf2fb;stroke:#26a;stroke-width:1px}.page .post-content .mermaid .cluster text{fill:#333}.page .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}.page .post-content .mermaid .actor{stroke:#999;fill:#eee}.page .post-content .mermaid text.actor{fill:#333;stroke:none}.page .post-content .mermaid .actor-line{stroke:#666}.page .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.page .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.page .post-content .mermaid #arrowhead{fill:#333}.page .post-content .mermaid .sequenceNumber{fill:#fff}.page .post-content .mermaid #sequencenumber{fill:#333}.page .post-content .mermaid #crosshead path{fill:#333 !important;stroke:#333 !important}.page .post-content .mermaid .messageText{fill:#333;stroke:none}.page .post-content .mermaid .labelBox{stroke:#999;fill:#eee}.page .post-content .mermaid .labelText{fill:#333;stroke:none}.page .post-content .mermaid .loopText{fill:#333;stroke:none}.page .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#999}.page .post-content .mermaid .note{stroke:#770;fill:#ffa}.page .post-content .mermaid .noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.page .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.page .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.page .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.page .post-content .mermaid .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .section{stroke:none;opacity:0.2}.page .post-content .mermaid .section0{fill:#80b3e6}.page .post-content .mermaid .section2{fill:#80b3e6}.page .post-content .mermaid .section1,.page .post-content .mermaid .section3{fill:#fff;opacity:0.2}.page .post-content .mermaid .sectionTitle0{fill:#333}.page .post-content .mermaid .sectionTitle1{fill:#333}.page .post-content .mermaid .sectionTitle2{fill:#333}.page .post-content .mermaid .sectionTitle3{fill:#333}.page .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)}.page .post-content .mermaid .grid .tick{stroke:#e6e5e5;opacity:0.3;shape-rendering:crispEdges}.page .post-content .mermaid .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .grid path{stroke-width:0}.page .post-content .mermaid .today{fill:none;stroke:#d42;stroke-width:2px}.page .post-content .mermaid .task{stroke-width:2}.page .post-content .mermaid .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .taskText:not([font-size]){font-size:11px}.page .post-content .mermaid .taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.page .post-content .mermaid .task.clickable{cursor:pointer}.page .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.page .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.page .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.page .post-content .mermaid .taskText0,.page .post-content .mermaid .taskText1,.page .post-content .mermaid .taskText2,.page .post-content .mermaid .taskText3{fill:#fff}.page .post-content .mermaid .task0,.page .post-content .mermaid .task1,.page .post-content .mermaid .task2,.page .post-content .mermaid .task3{fill:#26a;stroke:#1a4d80}.page .post-content .mermaid .taskTextOutside0,.page .post-content .mermaid .taskTextOutside2{fill:#333}.page .post-content .mermaid .taskTextOutside1,.page .post-content .mermaid .taskTextOutside3{fill:#333}.page .post-content .mermaid .active0,.page .post-content .mermaid .active1,.page .post-content .mermaid .active2,.page .post-content .mermaid .active3{fill:#eee;stroke:#1a4d80}.page .post-content .mermaid .activeText0,.page .post-content .mermaid .activeText1,.page .post-content .mermaid .activeText2,.page .post-content .mermaid .activeText3{fill:#333 !important}.page .post-content .mermaid .done0,.page .post-content .mermaid .done1,.page .post-content .mermaid .done2,.page .post-content .mermaid .done3{stroke:#666;fill:#bbb;stroke-width:2}.page .post-content .mermaid .doneText0,.page .post-content .mermaid .doneText1,.page .post-content .mermaid .doneText2,.page .post-content .mermaid .doneText3{fill:#333 !important}.page .post-content .mermaid .crit0,.page .post-content .mermaid .crit1,.page .post-content .mermaid .crit2,.page .post-content .mermaid .crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.page .post-content .mermaid .activeCrit0,.page .post-content .mermaid .activeCrit1,.page .post-content .mermaid .activeCrit2,.page .post-content .mermaid .activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.page .post-content .mermaid .doneCrit0,.page .post-content .mermaid .doneCrit1,.page .post-content .mermaid .doneCrit2,.page .post-content .mermaid .doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.page .post-content .mermaid .milestone{transform:rotate(45deg) scale(0.8, 0.8)}.page .post-content .mermaid .milestoneText{font-style:italic}.page .post-content .mermaid .doneCritText0,.page .post-content .mermaid .doneCritText1,.page .post-content .mermaid .doneCritText2,.page .post-content .mermaid .doneCritText3{fill:#333 !important}.page .post-content .mermaid .activeCritText0,.page .post-content .mermaid .activeCritText1,.page .post-content .mermaid .activeCritText2,.page .post-content .mermaid .activeCritText3{fill:#333 !important}.page .post-content .mermaid .titleText{text-anchor:middle;font-size:18px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .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}.page .post-content .mermaid g.classGroup text .title{font-weight:bolder}.page .post-content .mermaid g.classGroup rect{fill:#eee;stroke:#999}.page .post-content .mermaid g.classGroup line{stroke:#999;stroke-width:1}.page .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}.page .post-content .mermaid .classLabel .label{fill:#999;font-size:10px}.page .post-content .mermaid .relation{stroke:#999;stroke-width:1;fill:none}.page .post-content .mermaid #compositionStart{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #compositionEnd{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #aggregationStart{fill:#eee;stroke:#999;stroke-width:1}.page .post-content .mermaid #aggregationEnd{fill:#eee;stroke:#999;stroke-width:1}.page .post-content .mermaid #dependencyStart{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #dependencyEnd{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #extensionStart{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #extensionEnd{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid .commit-id,.page .post-content .mermaid .commit-msg,.page .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .pieTitleText{text-anchor:middle;font-size:25px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .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)}.page .post-content .mermaid g.stateGroup text{fill:#999;stroke:none;font-size:10px}.page .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.page .post-content .mermaid g.stateGroup rect{fill:#eee;stroke:#999}.page .post-content .mermaid g.stateGroup line{stroke:#999;stroke-width:1}.page .post-content .mermaid .transition{stroke:#999;stroke-width:1;fill:none}.page .post-content .mermaid .stateGroup .composit{fill:white;border-bottom:1px}.page .post-content .mermaid .state-note{stroke:#770;fill:#ffa}.page .post-content .mermaid .state-note text{fill:black;stroke:none;font-size:10px}.page .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}.page .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.dark-theme .page .post-content .mermaid .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.dark-theme .page .post-content .mermaid .label text{fill:#333}.dark-theme .page .post-content .mermaid .node rect,.dark-theme .page .post-content .mermaid .node circle,.dark-theme .page .post-content .mermaid .node ellipse,.dark-theme .page .post-content .mermaid .node polygon{fill:#BDD5EA;stroke:purple;stroke-width:1px}.dark-theme .page .post-content .mermaid .node .label{text-align:center}.dark-theme .page .post-content .mermaid .node.clickable{cursor:pointer}.dark-theme .page .post-content .mermaid .arrowheadPath{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .edgePath .path{stroke:#d3d3d3;stroke-width:1.5px}.dark-theme .page .post-content .mermaid .edgeLabel{background-color:#e8e8e8;text-align:center}.dark-theme .page .post-content .mermaid .cluster rect{fill:#6D6D65;stroke:rgba(255,255,255,0.25);stroke-width:1px}.dark-theme .page .post-content .mermaid .cluster text{fill:#F9FFFE}.dark-theme .page .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,0.25);border-radius:2px;pointer-events:none;z-index:100}.dark-theme .page .post-content .mermaid .actor{stroke:#81B1DB;fill:#BDD5EA}.dark-theme .page .post-content .mermaid text.actor{fill:#000;stroke:none}.dark-theme .page .post-content .mermaid .actor-line{stroke:#d3d3d3}.dark-theme .page .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#d3d3d3}.dark-theme .page .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#d3d3d3}.dark-theme .page .post-content .mermaid #arrowhead{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .sequenceNumber{fill:#fff}.dark-theme .page .post-content .mermaid #sequencenumber{fill:#d3d3d3}.dark-theme .page .post-content .mermaid #crosshead path{fill:#d3d3d3 !important;stroke:#d3d3d3 !important}.dark-theme .page .post-content .mermaid .messageText{fill:#d3d3d3;stroke:none}.dark-theme .page .post-content .mermaid .labelBox{stroke:#81B1DB;fill:#BDD5EA}.dark-theme .page .post-content .mermaid .labelText{fill:#323D47;stroke:none}.dark-theme .page .post-content .mermaid .loopText{fill:#d3d3d3;stroke:none}.dark-theme .page .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#81B1DB}.dark-theme .page .post-content .mermaid .note{stroke:rgba(255,255,255,0.25);fill:#fff5ad}.dark-theme .page .post-content .mermaid .noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.dark-theme .page .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.dark-theme .page .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.dark-theme .page .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.dark-theme .page .post-content .mermaid .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid .section{stroke:none;opacity:0.2}.dark-theme .page .post-content .mermaid .section0{fill:rgba(255,255,255,0.3)}.dark-theme .page .post-content .mermaid .section2{fill:#EAE8B9}.dark-theme .page .post-content .mermaid .section1,.dark-theme .page .post-content .mermaid .section3{fill:#fff;opacity:0.2}.dark-theme .page .post-content .mermaid .sectionTitle0{fill:#F9FFFE}.dark-theme .page .post-content .mermaid .sectionTitle1{fill:#F9FFFE}.dark-theme .page .post-content .mermaid .sectionTitle2{fill:#F9FFFE}.dark-theme .page .post-content .mermaid .sectionTitle3{fill:#F9FFFE}.dark-theme .page .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 .page .post-content .mermaid .grid .tick{stroke:#d3d3d3;opacity:0.3;shape-rendering:crispEdges}.dark-theme .page .post-content .mermaid .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid .grid path{stroke-width:0}.dark-theme .page .post-content .mermaid .today{fill:none;stroke:#DB5757;stroke-width:2px}.dark-theme .page .post-content .mermaid .task{stroke-width:2}.dark-theme .page .post-content .mermaid .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid .taskText:not([font-size]){font-size:11px}.dark-theme .page .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 .page .post-content .mermaid .taskTextOutsideLeft{fill:#323D47;text-anchor:end;font-size:11px}.dark-theme .page .post-content .mermaid .task.clickable{cursor:pointer}.dark-theme .page .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.dark-theme .page .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.dark-theme .page .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.dark-theme .page .post-content .mermaid .taskText0,.dark-theme .page .post-content .mermaid .taskText1,.dark-theme .page .post-content .mermaid .taskText2,.dark-theme .page .post-content .mermaid .taskText3{fill:#323D47}.dark-theme .page .post-content .mermaid .task0,.dark-theme .page .post-content .mermaid .task1,.dark-theme .page .post-content .mermaid .task2,.dark-theme .page .post-content .mermaid .task3{fill:#BDD5EA;stroke:rgba(255,255,255,0.5)}.dark-theme .page .post-content .mermaid .taskTextOutside0,.dark-theme .page .post-content .mermaid .taskTextOutside2{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .taskTextOutside1,.dark-theme .page .post-content .mermaid .taskTextOutside3{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .active0,.dark-theme .page .post-content .mermaid .active1,.dark-theme .page .post-content .mermaid .active2,.dark-theme .page .post-content .mermaid .active3{fill:#81B1DB;stroke:rgba(255,255,255,0.5)}.dark-theme .page .post-content .mermaid .activeText0,.dark-theme .page .post-content .mermaid .activeText1,.dark-theme .page .post-content .mermaid .activeText2,.dark-theme .page .post-content .mermaid .activeText3{fill:#323D47 !important}.dark-theme .page .post-content .mermaid .done0,.dark-theme .page .post-content .mermaid .done1,.dark-theme .page .post-content .mermaid .done2,.dark-theme .page .post-content .mermaid .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.dark-theme .page .post-content .mermaid .doneText0,.dark-theme .page .post-content .mermaid .doneText1,.dark-theme .page .post-content .mermaid .doneText2,.dark-theme .page .post-content .mermaid .doneText3{fill:#323D47 !important}.dark-theme .page .post-content .mermaid .crit0,.dark-theme .page .post-content .mermaid .crit1,.dark-theme .page .post-content .mermaid .crit2,.dark-theme .page .post-content .mermaid .crit3{stroke:#E83737;fill:#E83737;stroke-width:2}.dark-theme .page .post-content .mermaid .activeCrit0,.dark-theme .page .post-content .mermaid .activeCrit1,.dark-theme .page .post-content .mermaid .activeCrit2,.dark-theme .page .post-content .mermaid .activeCrit3{stroke:#E83737;fill:#81B1DB;stroke-width:2}.dark-theme .page .post-content .mermaid .doneCrit0,.dark-theme .page .post-content .mermaid .doneCrit1,.dark-theme .page .post-content .mermaid .doneCrit2,.dark-theme .page .post-content .mermaid .doneCrit3{stroke:#E83737;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.dark-theme .page .post-content .mermaid .milestone{transform:rotate(45deg) scale(0.8, 0.8)}.dark-theme .page .post-content .mermaid .milestoneText{font-style:italic}.dark-theme .page .post-content .mermaid .doneCritText0,.dark-theme .page .post-content .mermaid .doneCritText1,.dark-theme .page .post-content .mermaid .doneCritText2,.dark-theme .page .post-content .mermaid .doneCritText3{fill:#323D47 !important}.dark-theme .page .post-content .mermaid .activeCritText0,.dark-theme .page .post-content .mermaid .activeCritText1,.dark-theme .page .post-content .mermaid .activeCritText2,.dark-theme .page .post-content .mermaid .activeCritText3{fill:#323D47 !important}.dark-theme .page .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 .page .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 .page .post-content .mermaid g.classGroup text .title{font-weight:bolder}.dark-theme .page .post-content .mermaid g.classGroup rect{fill:#BDD5EA;stroke:purple}.dark-theme .page .post-content .mermaid g.classGroup line{stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#BDD5EA;opacity:0.5}.dark-theme .page .post-content .mermaid .classLabel .label{fill:purple;font-size:10px}.dark-theme .page .post-content .mermaid .relation{stroke:purple;stroke-width:1;fill:none}.dark-theme .page .post-content .mermaid #compositionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #compositionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #aggregationStart{fill:#BDD5EA;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #aggregationEnd{fill:#BDD5EA;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #dependencyStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #dependencyEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #extensionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #extensionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid .commit-id,.dark-theme .page .post-content .mermaid .commit-msg,.dark-theme .page .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .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 .page .post-content .mermaid .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .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 .page .post-content .mermaid g.stateGroup text{fill:purple;stroke:none;font-size:10px}.dark-theme .page .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.dark-theme .page .post-content .mermaid g.stateGroup rect{fill:#BDD5EA;stroke:purple}.dark-theme .page .post-content .mermaid g.stateGroup line{stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid .transition{stroke:purple;stroke-width:1;fill:none}.dark-theme .page .post-content .mermaid .stateGroup .composit{fill:white;border-bottom:1px}.dark-theme .page .post-content .mermaid .state-note{stroke:rgba(255,255,255,0.25);fill:#fff5ad}.dark-theme .page .post-content .mermaid .state-note text{fill:black;stroke:none;font-size:10px}.dark-theme .page .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#BDD5EA;opacity:0.5}.dark-theme .page .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.dark-theme .page .post-content .aplayer{background:#212121}.dark-theme .page .post-content .aplayer.aplayer-withlist .aplayer-info{border-bottom-color:#5c5c5c}.dark-theme .page .post-content .aplayer.aplayer-fixed .aplayer-list{border-color:#5c5c5c}.dark-theme .page .post-content .aplayer .aplayer-body{background-color:#212121}.dark-theme .page .post-content .aplayer .aplayer-info{border-top-color:#212121}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-music .aplayer-title{color:#fff}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-music .aplayer-author{color:#fff}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-controller .aplayer-time{color:#eee}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:#eee}.dark-theme .page .post-content .aplayer .aplayer-list{background-color:#212121}.dark-theme .page .post-content .aplayer .aplayer-list::-webkit-scrollbar-thumb{background-color:#999}.dark-theme .page .post-content .aplayer .aplayer-list::-webkit-scrollbar-thumb:hover{background-color:#bbb}.dark-theme .page .post-content .aplayer .aplayer-list li{color:#fff;border-top-color:#666}.dark-theme .page .post-content .aplayer .aplayer-list li:hover{background:#4e4e4e}.dark-theme .page .post-content .aplayer .aplayer-list li.aplayer-list-light{background:#6c6c6c}.dark-theme .page .post-content .aplayer .aplayer-list li .aplayer-list-index{color:#ddd}.dark-theme .page .post-content .aplayer .aplayer-list li .aplayer-list-author{color:#ddd}.dark-theme .page .post-content .aplayer .aplayer-lrc{text-shadow:-1px -1px 0 #666}.dark-theme .page .post-content .aplayer .aplayer-lrc:before{background:-moz-linear-gradient(top, #212121 0%, rgba(33,33,33,0) 100%);background:-webkit-linear-gradient(top, #212121 0%, rgba(33,33,33,0) 100%);background:linear-gradient(to bottom, #212121 0%, rgba(33,33,33,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#212121', endColorstr='#00212121',GradientType=0 )}.dark-theme .page .post-content .aplayer .aplayer-lrc:after{background:-moz-linear-gradient(top, rgba(33,33,33,0) 0%, rgba(33,33,33,0.8) 100%);background:-webkit-linear-gradient(top, rgba(33,33,33,0) 0%, rgba(33,33,33,0.8) 100%);background:linear-gradient(to bottom, rgba(33,33,33,0) 0%, rgba(33,33,33,0.8) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00212121', endColorstr='#cc212121',GradientType=0 )}.dark-theme .page .post-content .aplayer .aplayer-lrc p{color:#fff}.dark-theme .page .post-content .aplayer .aplayer-miniswitcher{background:#484848}.dark-theme .page .post-content .aplayer .aplayer-miniswitcher .aplayer-icon path{fill:#eee}.page .post-content .echarts{width:100%;height:30rem;margin:3% auto;text-align:center}.page .post-content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.page .post-content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.page .post-content hr{margin:1rem 0;position:relative;border-top:1px dashed #dcdcdc;border-bottom:none}.dark-theme .page .post-content hr{border-top:1px dashed #4a4b50}.page .post-content kbd{display:inline-block;padding:.25rem;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:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;color:#E74C3C}.dark-theme .page .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}.page .post-content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;font-weight:bold;word-break:break-all}.page .post-content .align-left{text-align:left}.page .post-content .align-center{text-align:center}.page .post-content .align-right{text-align:right}.page .post-content .float-left{float:left}.page .post-content .float-right{float:right}.page .post-footer{margin-top:3rem}.page .post-footer .post-info{border-bottom:1px solid #dcdcdc;padding:1rem 0 0.3rem}.dark-theme .page .post-footer .post-info{border-bottom:1px solid #4a4b50}.page .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.page .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}.dark-theme .page .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.page .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark-theme .page .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.page .post-footer .post-info .post-info-line .post-info-md a{font-size:0.8em;color:#2d96bd}.dark-theme .page .post-footer .post-info .post-info-line .post-info-md a{color:#eee}.page .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark-theme .page .post-footer .post-info .post-info-line .post-info-md a:hover{color:#2d96bd}.page .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.page .post-footer .post-nav::before,.page .post-footer .post-nav::after{content:' ';display:table}.page .post-footer .post-nav a.prev,.page .post-footer .post-nav a.next{font-size:1rem;font-weight:600;transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}.page .post-footer .post-nav a.prev{float:left}.page .post-footer .post-nav a.prev:hover{transform:translateX(-4px)}.page .post-footer .post-nav a.next{float:right}.page .post-footer .post-nav a.next:hover{transform:translateX(4px)}.page .post-comment{padding:4rem 0}.page .home-intro{transform:translateY(0);padding:2rem 0 2rem 0}.page .home-intro .home-avatar img{width:6rem}.page .post{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #dcdcdc}.dark-theme .page .post{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.page .post .post-featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto}.page .post .post-featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.page .post .post-list-title{font-size:1.6rem}.page .post .post-meta{font-size:.875rem !important}.page .post .post-meta a{color:#a9a9b3 !important}.dark-theme .page .post .post-meta a{color:#5d5d5f !important}.page .post .post-meta a:hover{color:#2d96bd !important}.dark-theme .page .post .post-meta a:hover{color:#fff !important}.page .post .post-content{display:-webkit-box;margin-top:.3rem;width:100%;max-height:10rem;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.page .post .post-content h2,.page .post .post-content h3,.page .post .post-content h4,.page .post .post-content h5,.page .post .post-content h6,.page .post .post-content p{font-size:1rem;margin:0;padding:.2rem 0;overflow:hidden;overflow-wrap:break-word;text-overflow:ellipsis}.page .post .post-content a{word-break:break-all}.page .post .post-footer{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem !important}.page .post .post-footer a{color:#2d96bd !important}.dark-theme .page .post .post-footer a{color:#eee !important}.page .post .post-footer a:hover{color:#ef3982 !important}.dark-theme .page .post .post-footer a:hover{color:#2d96bd !important}.page .post .post-footer .post-tags{padding:0}.page .post .post-footer .post-tags a{color:#161209 !important}.dark-theme .page .post .post-footer .post-tags a{color:#a9a9b3 !important}.page .post .post-footer .post-tags a:hover{color:#2d96bd !important}.dark-theme .page .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 .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.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 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}.dark-theme .archive .archive-item-link:hover{color:#fff;text-decoration:none;transition:color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}.archive .archive-item-date{float:right;text-align:right;color:#a9a9b3}.dark-theme .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.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 4rem;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 0.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:0px 2px 4px rgba(0,0,0,0.1),0px 4px 8px rgba(0,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%}.copyright .copyright-line .icp-br{display:none}.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:bold;padding:1rem 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,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") no-repeat center center}.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 5px;text-decoration:none;transition:0.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:0.3s;bottom:0px}.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){.page{max-width:780px}.page .post-toc{width:300px;margin-left:800px}}@media only screen and (max-width: 1440px){.page{max-width:680px}.page .post-toc{width:240px;margin-left:700px}}@media only screen and (max-width: 1200px){.page{max-width:560px}.page .post-toc{width:180px;margin-left:580px}}@media only screen and (max-width: 960px){.navbar .navbar-container{margin:0 1rem}.page{max-width:80%}.page .post-toc{display:none}.page .post-toc-mobile{display:block}}@media only screen and (max-width: 560px){.navbar{display:none}.navbar-mobile{display:block}.page{max-width:100%}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}.dynamic-to-top{display:none !important}} +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.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:-0.25em}sup{top:-0.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:0.35em 0.75em 0.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:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft Yahei,Segoe UI,Helvetica,Arial,sans-serif,Segoe UI Emoji}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background-color:#87878d}::-webkit-scrollbar-thumb:hover{background-color:#a9a9b3}::selection{background:rgba(38,139,211,0.2)}.dark-theme ::selection{background:rgba(38,139,211,0.3)}body{font-size:16px;font-weight:400;line-height:1.5rem;background-color:#fff;color:#161209}body::before{content:"";background-repeat:no-repeat;background-position:center;opacity:0.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 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.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:97.5vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main .container{padding-left:1rem;padding-right:1rem}.footer{height:2rem;width:100%;text-align:center;line-height:1.5rem;padding-top:2rem}.home-intro{transform:translateY(25vh);text-align:center}.home-intro .home-avatar{padding:0.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 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);margin:0 auto;-webkit-transition:all ease 0.4s;-moz-transition:all ease 0.4s;-o-transition:all ease 0.4s;transition:all ease 0.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:normal;margin:0;padding:.4rem}.home-intro .home-social-links{padding-top:.6rem}.home-intro .home-social-links i{font-size:1.45rem}.home-intro .home-social-links img{width:1.5rem;height:1.5rem}.notfound{font-size:1.8rem;line-height:3rem;transform:translateY(30vh);text-align:center}.page{position:relative;width:100%;max-width:980px;margin:0 auto;padding-top:6rem}.page .post-title{margin:0 !important;font-size:1.8rem;line-height:3rem}.page .post-meta{font-size:.88rem;color:#a9a9b3}.page .post-meta span{display:inline-block}.dark-theme .page .post-meta{color:#5d5d5f}.page .post-meta a{color:#2d96bd}.dark-theme .page .post-meta a{color:#eee}.page .post-meta a:hover{color:#ef3982}.dark-theme .page .post-meta a:hover{color:#2d96bd}.page .post-meta .author{font-size:1.05rem}.page .post-featured-image{padding-top:.6rem}.page .post-featured-image img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.page .post-toc{display:block;position:absolute;width:360px;margin-left:1000px;padding:0 .8rem;border-left:1px solid #dcdcdc;word-wrap:break-word;box-sizing:border-box;top:12rem}.dark-theme .page .post-toc{border-left:1px solid #4a4b50}.page .post-toc .post-toc-title{font-weight:400;margin:.8rem 0;text-transform:uppercase}.page .post-toc .post-toc-content.always-active ul{display:block}.page .post-toc .post-toc-content>nav>ul{margin:.625rem 0}.page .post-toc .post-toc-content ul{text-indent:-0.85rem;padding-left:.625rem;list-style:none}.page .post-toc .post-toc-content ul a::before{content:"|";font-weight:bolder;margin-right:.5rem;color:#2d96bd}.dark-theme .page .post-toc .post-toc-content ul a::before{color:#eee}.page .post-toc .post-toc-content ul ul{padding-left:1.25rem;display:none}.page .post-toc .post-toc-content ul .has-active>ul{display:block}.page .post-toc .post-toc-content .toc-link.active{font-weight:bold;color:#ef3982}.dark-theme .page .post-toc .post-toc-content .toc-link.active{color:#2d96bd}.page .post-toc .post-toc-content .toc-link.active::before{font-weight:bolder;color:#ef3982}.dark-theme .page .post-toc .post-toc-content .toc-link.active::before{color:#2d96bd}.page .post-toc-mobile{display:none;padding-top:.8rem}.page .post-toc-mobile details summary .post-toc-title{display:block;display:flex;justify-content:space-between;font-size:1.2em;font-weight:bold;line-height:2em;padding:0 .625rem;background:#f5f5f5}.page .post-toc-mobile details summary .post-toc-title i.details{line-height:2em}.dark-theme .page .post-toc-mobile details summary .post-toc-title{background:#272C34}.page .post-toc-mobile details summary::-webkit-details-marker{display:none}.page .post-toc-mobile details[open] i.details{transform:rotate(180deg)}.page .post-toc-mobile .post-toc-content{border:2px solid #f5f5f5}.page .post-toc-mobile .post-toc-content>nav>ul{margin:.625rem 0}.page .post-toc-mobile .post-toc-content ul{padding-left:.625rem;list-style:none}.page .post-toc-mobile .post-toc-content ul ul{padding-left:1.25rem}.dark-theme .page .post-toc-mobile .post-toc-content{border:2px solid #272C34}.page .post-content .post-dummy-target:target{display:inline-block;position:relative;top:-5.6rem;visibility:hidden}.page .post-content h1,.page .post-content h2,.page .post-content h3,.page .post-content h4,.page .post-content h5,.page .post-content h6{font-weight:bold}.dark-theme .page .post-content h1,.dark-theme .page .post-content h2,.dark-theme .page .post-content h3,.dark-theme .page .post-content h4,.dark-theme .page .post-content h5,.dark-theme .page .post-content h6{font-weight:bolder}.page .post-content h2,.page .post-content h3,.page .post-content h4,.page .post-content h5,.page .post-content h6{padding-top:.8rem;padding-bottom:.3rem}.page .post-content h2::before{content:"#";margin-right:.3125rem;color:#2d96bd}.dark-theme .page .post-content h2::before{color:#eee}.page .post-content h3::before,.page .post-content h4::before,.page .post-content h5::before,.page .post-content h6::before{content:"|";margin-right:.3125rem;color:#2d96bd}.dark-theme .page .post-content h3::before,.dark-theme .page .post-content h4::before,.dark-theme .page .post-content h5::before,.dark-theme .page .post-content h6::before{color:#eee}.page .post-content p{font-size:1rem;margin:.5rem 0}.page .post-content a{color:#2d96bd}.dark-theme .page .post-content a{color:#eee}.page .post-content a:hover{color:#ef3982}.dark-theme .page .post-content a:hover:hover{color:#2d96bd;font-weight:bold}.page .post-content ul{padding-left:2rem;list-style-type:disc}.page .post-content ruby{background:#f5f5f5}.page .post-content ruby rt{color:#a9a9b3}.dark-theme .page .post-content ruby{background:#272C34}.dark-theme .page .post-content ruby rt{color:#5d5d5f}.page .post-content .table-wrapper{overflow-x:auto}.page .post-content .table-wrapper::-webkit-scrollbar{background-color:#fff}.dark-theme .page .post-content .table-wrapper::-webkit-scrollbar{background-color:#272c34}.page .post-content .table-wrapper>table{width:100%;max-width:100%;margin:.625rem 0;border-spacing:0;background:#fff}.dark-theme .page .post-content .table-wrapper>table{background:#272c34}.page .post-content .table-wrapper>table thead{background:#ededed}.dark-theme .page .post-content .table-wrapper>table thead{background-color:#20252b}.page .post-content .table-wrapper>table th,.page .post-content .table-wrapper>table td{padding:.3rem 1rem;border:1px double #dcdcdc}.dark-theme .page .post-content .table-wrapper>table th,.dark-theme .page .post-content .table-wrapper>table td{border:1px double #4a4b50}.page .post-content figure{text-align:center}.page .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}.page .post-content img{display:block;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.page .post-content blockquote{font-size:1rem;display:block;border-width:1px 0;border-style:solid;border-color:#dcdcdc;padding:1.5em 1.2em 0.5em 1.2em;margin:0 0 2em 0;position:relative}.page .post-content blockquote::before{content:'\201C';position:absolute;top:0em;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 .page .post-content blockquote::before{color:#eee}.page .post-content blockquote::after{content:"#blockquote" attr(cite);display:block;text-align:right;font-size:0.875em;color:#2d96bd}.dark-theme .page .post-content blockquote::after{color:#eee}.dark-theme .page .post-content blockquote{border-color:#4a4b50}.page .post-content .footnotes{color:#a9a9b3}.dark-theme .page .post-content .footnotes{color:#5d5d5f}.page .post-content code{font-size:13px;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;padding:.2rem .4rem;color:#E74C3C}.dark-theme .page .post-content code{color:#E5BF78}.page .post-content code,.page .post-content pre,.page .post-content .highlight table,.page .post-content .highlight tr,.page .post-content .highlight td{background:#f5f5f5}.dark-theme .page .post-content code,.dark-theme .page .post-content pre,.dark-theme .page .post-content .highlight table,.dark-theme .page .post-content .highlight tr,.dark-theme .page .post-content .highlight td{background:#272C34}.page .post-content .highlight>.chroma{margin:1rem 0;line-height:18px}.page .post-content .highlight>.chroma code,.page .post-content .highlight>.chroma pre{margin:0;padding:0}.page .post-content .highlight>.chroma::before{display:block;padding:.4rem;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft Yahei,Segoe UI,Helvetica,Arial,sans-serif,Segoe UI Emoji;font-size:13px;font-weight:bold;color:#b1b0b0;background:#ededed;content:'Code'}.dark-theme .page .post-content .highlight>.chroma::before{color:#b1b0b0;background:#20252b}.page .post-content .highlight>.chroma.language-bash::before{content:"Bash"}.page .post-content .highlight>.chroma.language-c::before{content:"C"}.page .post-content .highlight>.chroma.language-cs::before{content:"C#"}.page .post-content .highlight>.chroma.language-cpp::before{content:"C++"}.page .post-content .highlight>.chroma.language-clojure::before{content:"Clojure"}.page .post-content .highlight>.chroma.language-coffeescript::before{content:"CoffeeScript"}.page .post-content .highlight>.chroma.language-css::before{content:"CSS"}.page .post-content .highlight>.chroma.language-dart::before{content:"Dart"}.page .post-content .highlight>.chroma.language-diff::before{content:"Diff"}.page .post-content .highlight>.chroma.language-erlang::before{content:"Erlang"}.page .post-content .highlight>.chroma.language-go::before{content:"Go"}.page .post-content .highlight>.chroma.language-go-html-template::before{content:"Go HTML Template"}.page .post-content .highlight>.chroma.language-groovy::before{content:"Groovy"}.page .post-content .highlight>.chroma.language-haskell::before{content:"Haskell"}.page .post-content .highlight>.chroma.language-html::before{content:"HTML"}.page .post-content .highlight>.chroma.language-http::before{content:"HTTP"}.page .post-content .highlight>.chroma.language-xml::before{content:"XML"}.page .post-content .highlight>.chroma.language-java::before{content:"Java"}.page .post-content .highlight>.chroma.language-js::before{content:"JavaScript"}.page .post-content .highlight>.chroma.language-javascript::before{content:"JavaScript"}.page .post-content .highlight>.chroma.language-json::before{content:"JSON"}.page .post-content .highlight>.chroma.language-kotlin::before{content:"Kotlin"}.page .post-content .highlight>.chroma.language-latex::before{content:"LaTeX"}.page .post-content .highlight>.chroma.language-less::before{content:"Less"}.page .post-content .highlight>.chroma.language-lisp::before{content:"Lisp"}.page .post-content .highlight>.chroma.language-lua::before{content:"Lua"}.page .post-content .highlight>.chroma.language-makefile::before{content:"Makefile"}.page .post-content .highlight>.chroma.language-markdown::before{content:"Markdown"}.page .post-content .highlight>.chroma.language-matlab::before{content:"Matlab"}.page .post-content .highlight>.chroma.language-objectivec::before{content:"Objective-C"}.page .post-content .highlight>.chroma.language-php::before{content:"PHP"}.page .post-content .highlight>.chroma.language-perl::before{content:"Perl"}.page .post-content .highlight>.chroma.language-python::before{content:"Python"}.page .post-content .highlight>.chroma.language-r::before{content:"R"}.page .post-content .highlight>.chroma.language-ruby::before{content:"Ruby"}.page .post-content .highlight>.chroma.language-rust::before{content:"Rust"}.page .post-content .highlight>.chroma.language-scala::before{content:"Scala"}.page .post-content .highlight>.chroma.language-scss::before{content:"Scss"}.page .post-content .highlight>.chroma.language-shell::before{content:"Shell"}.page .post-content .highlight>.chroma.language-sql::before{content:"SQL"}.page .post-content .highlight>.chroma.language-swift::before{content:"Swift"}.page .post-content .highlight>.chroma.language-tex::before{content:"TeX"}.page .post-content .highlight>.chroma.language-toml::before{content:"TOML"}.page .post-content .highlight>.chroma.language-ts::before{content:"TypeScript"}.page .post-content .highlight>.chroma.language-typescript::before{content:"TypeScript"}.page .post-content .highlight>.chroma.language-vue::before{content:"Vue"}.page .post-content .highlight>.chroma.language-yml::before{content:"YAML"}.page .post-content .highlight>.chroma.language-yaml::before{content:"YAML"}.page .post-content .highlight>.chroma table,.page .post-content .highlight>.chroma tr,.page .post-content .highlight>.chroma td{margin:0;border:none !important}.page .post-content .highlight>.chroma td{padding:.2rem .4rem}.page .post-content .highlight>.chroma .lntd:first-child{width:1.2rem}.page .post-content .highlight>.chroma .lntd:first-child .lnt{color:#b1b0b0}.page .post-content .highlight>.chroma .lntd:first-child .hl{font-weight:bolder}.page .post-content .highlight>.chroma .lntd:last-child .hl{display:block;background-color:#e8e8e8}.dark-theme .page .post-content .highlight>.chroma .lntd:last-child .hl{background-color:#1c2025}.page .post-content .highlight{font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace}.page .post-content .highlight .c,.page .post-content .highlight .ch,.page .post-content .highlight .cm,.page .post-content .highlight .c1,.page .post-content .highlight .cs,.page .post-content .highlight .cp,.page .post-content .highlight .cpf{font-style:italic}.page .post-content .highlight .gl{text-decoration:underline}.page .post-content .highlight .p{color:#a9a9b3}.page .post-content .highlight .k{color:#b501a9}.page .post-content .highlight .kc{color:#b501a9}.page .post-content .highlight .kd{color:#b501a9}.page .post-content .highlight .kn{color:#b501a9}.page .post-content .highlight .kp{color:#b501a9}.page .post-content .highlight .kr{color:#b501a9}.page .post-content .highlight .kt{color:#b501a9}.page .post-content .highlight .n{color:#333}.page .post-content .highlight .na{color:#2b77fa}.page .post-content .highlight .nb{color:#f74840}.page .post-content .highlight .bp{color:#f74840}.page .post-content .highlight .nc{color:#cb8100}.page .post-content .highlight .no{color:#2b77fa}.page .post-content .highlight .nd{color:#0086c1}.page .post-content .highlight .ni{color:#2b77fa}.page .post-content .highlight .ne{color:#2b77fa}.page .post-content .highlight .nf{color:#2b77fa}.page .post-content .highlight .fm{color:#1ccad6}.page .post-content .highlight .nl{color:#2b77fa}.page .post-content .highlight .nn{color:#2b77fa}.page .post-content .highlight .nx{color:#333}.page .post-content .highlight .py{color:#2b77fa}.page .post-content .highlight .nt{color:#2b77fa}.page .post-content .highlight .nv{color:#2b77fa}.page .post-content .highlight .vc{color:#2b77fa}.page .post-content .highlight .vg{color:#2b77fa}.page .post-content .highlight .vi{color:#2b77fa}.page .post-content .highlight .vm{color:#2b77fa}.page .post-content .highlight .l{color:#2aa198}.page .post-content .highlight .ld{color:#2aa198}.page .post-content .highlight .s{color:#24a443}.page .post-content .highlight .sa{color:#24a443}.page .post-content .highlight .sb{color:#24a443}.page .post-content .highlight .sc{color:#24a443}.page .post-content .highlight .dl{color:#24a443}.page .post-content .highlight .sd{color:#24a443}.page .post-content .highlight .s2{color:#24a443}.page .post-content .highlight .se{color:#24a443}.page .post-content .highlight .sh{color:#24a443}.page .post-content .highlight .si{color:#24a443}.page .post-content .highlight .sx{color:#24a443}.page .post-content .highlight .sr{color:#24a443}.page .post-content .highlight .s1{color:#24a443}.page .post-content .highlight .ss{color:#24a443}.page .post-content .highlight .m{color:#e2893c}.page .post-content .highlight .mb{color:#e2893c}.page .post-content .highlight .mf{color:#e2893c}.page .post-content .highlight .mh{color:#e2893c}.page .post-content .highlight .mi{color:#e2893c}.page .post-content .highlight .il{color:#e2893c}.page .post-content .highlight .mo{color:#e2893c}.page .post-content .highlight .o{color:#f19b04}.page .post-content .highlight .ow{color:#b501a9}.page .post-content .highlight .c{color:#a0a1a8}.page .post-content .highlight .ch{color:#a0a1a8}.page .post-content .highlight .cm{color:#a0a1a8}.page .post-content .highlight .c1{color:#a0a1a8}.page .post-content .highlight .cs{color:#a0a1a8}.page .post-content .highlight .cp{color:#a0a1a8}.page .post-content .highlight .cpf{color:#a0a1a8}.page .post-content .highlight .g{color:#e72d40}.page .post-content .highlight .gd{color:#e72d40}.page .post-content .highlight .ge{color:#e72d40}.page .post-content .highlight .gr{color:#e72d40}.page .post-content .highlight .gh{color:#e72d40}.page .post-content .highlight .gi{color:#e72d40}.page .post-content .highlight .go{color:#e72d40}.page .post-content .highlight .gp{color:#e72d40}.page .post-content .highlight .gs{color:#e72d40}.page .post-content .highlight .gu{color:#e72d40}.page .post-content .highlight .gt{color:#e72d40}.page .post-content .highlight .w{color:#bbb}.dark-theme .page .post-content .highlight .p{color:#a9a9b3}.dark-theme .page .post-content .highlight .k{color:#d371e3}.dark-theme .page .post-content .highlight .kc{color:#d371e3}.dark-theme .page .post-content .highlight .kd{color:#d371e3}.dark-theme .page .post-content .highlight .kn{color:#d371e3}.dark-theme .page .post-content .highlight .kp{color:#d371e3}.dark-theme .page .post-content .highlight .kr{color:#d371e3}.dark-theme .page .post-content .highlight .kt{color:#d371e3}.dark-theme .page .post-content .highlight .n{color:#a9b2c0}.dark-theme .page .post-content .highlight .na{color:#41b0f5}.dark-theme .page .post-content .highlight .nb{color:#19b9c4}.dark-theme .page .post-content .highlight .bp{color:#ecbf6f}.dark-theme .page .post-content .highlight .nc{color:#ecbf6f}.dark-theme .page .post-content .highlight .no{color:#41b0f5}.dark-theme .page .post-content .highlight .nd{color:#ecbf6f}.dark-theme .page .post-content .highlight .ni{color:#41b0f5}.dark-theme .page .post-content .highlight .ne{color:#41b0f5}.dark-theme .page .post-content .highlight .nf{color:#41b0f5}.dark-theme .page .post-content .highlight .fm{color:#19b9c4}.dark-theme .page .post-content .highlight .nl{color:#41b0f5}.dark-theme .page .post-content .highlight .nn{color:#41b0f5}.dark-theme .page .post-content .highlight .nx{color:#a9a9b3}.dark-theme .page .post-content .highlight .py{color:#41b0f5}.dark-theme .page .post-content .highlight .nt{color:#41b0f5}.dark-theme .page .post-content .highlight .nv{color:#41b0f5}.dark-theme .page .post-content .highlight .vc{color:#41b0f5}.dark-theme .page .post-content .highlight .vg{color:#41b0f5}.dark-theme .page .post-content .highlight .vi{color:#41b0f5}.dark-theme .page .post-content .highlight .vm{color:#41b0f5}.dark-theme .page .post-content .highlight .l{color:#2aa198}.dark-theme .page .post-content .highlight .ld{color:#2aa198}.dark-theme .page .post-content .highlight .s{color:#8cc570}.dark-theme .page .post-content .highlight .sa{color:#8cc570}.dark-theme .page .post-content .highlight .sb{color:#8cc570}.dark-theme .page .post-content .highlight .sc{color:#8cc570}.dark-theme .page .post-content .highlight .dl{color:#8cc570}.dark-theme .page .post-content .highlight .sd{color:#8cc570}.dark-theme .page .post-content .highlight .s2{color:#8cc570}.dark-theme .page .post-content .highlight .se{color:#8cc570}.dark-theme .page .post-content .highlight .sh{color:#8cc570}.dark-theme .page .post-content .highlight .si{color:#8cc570}.dark-theme .page .post-content .highlight .sx{color:#8cc570}.dark-theme .page .post-content .highlight .sr{color:#8cc570}.dark-theme .page .post-content .highlight .s1{color:#8cc570}.dark-theme .page .post-content .highlight .ss{color:#8cc570}.dark-theme .page .post-content .highlight .m{color:#db985c}.dark-theme .page .post-content .highlight .mb{color:#db985c}.dark-theme .page .post-content .highlight .mf{color:#db985c}.dark-theme .page .post-content .highlight .mh{color:#db985c}.dark-theme .page .post-content .highlight .mi{color:#db985c}.dark-theme .page .post-content .highlight .il{color:#db985c}.dark-theme .page .post-content .highlight .mo{color:#db985c}.dark-theme .page .post-content .highlight .o{color:#ecbf6f}.dark-theme .page .post-content .highlight .ow{color:#d371e3}.dark-theme .page .post-content .highlight .c{color:#7e848f}.dark-theme .page .post-content .highlight .ch{color:#7e848f}.dark-theme .page .post-content .highlight .cm{color:#7e848f}.dark-theme .page .post-content .highlight .c1{color:#7e848f}.dark-theme .page .post-content .highlight .cs{color:#7e848f}.dark-theme .page .post-content .highlight .cp{color:#7e848f}.dark-theme .page .post-content .highlight .cpf{color:#7e848f}.dark-theme .page .post-content .highlight .g{color:#f16372}.dark-theme .page .post-content .highlight .gd{color:#f16372}.dark-theme .page .post-content .highlight .ge{color:#f16372}.dark-theme .page .post-content .highlight .gr{color:#f16372}.dark-theme .page .post-content .highlight .gh{color:#f16372}.dark-theme .page .post-content .highlight .gi{color:#f16372}.dark-theme .page .post-content .highlight .go{color:#f16372}.dark-theme .page .post-content .highlight .gp{color:#f16372}.dark-theme .page .post-content .highlight .gs{color:#f16372}.dark-theme .page .post-content .highlight .gu{color:#f16372}.dark-theme .page .post-content .highlight .gt{color:#f16372}.dark-theme .page .post-content .highlight .w{color:#bbb}.page .post-content .admonition{position:relative;margin:.9765em 0;padding:0 .75rem;background-color:rgba(68,138,255,0.1);border-left:0.25rem solid #448aff;overflow:auto}.page .post-content .admonition .admonition-title{margin:0 -0.75rem;padding:.5rem .75rem .5rem 2.5rem;border-bottom:0.1rem solid rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1);font-weight:700}.page .post-content .admonition i.icon{font-size:16px;color:#448aff;cursor:auto;position:absolute;left:.75rem;top:.75rem}.page .post-content .admonition.note{border-left-color:#448aff}.page .post-content .admonition.note i.icon{color:#448aff}.page .post-content .admonition.abstract{border-left-color:#00b0ff}.page .post-content .admonition.abstract i.icon{color:#00b0ff}.page .post-content .admonition.info{border-left-color:#00b8d4}.page .post-content .admonition.info i.icon{color:#00b8d4}.page .post-content .admonition.tip{border-left-color:#00bfa5}.page .post-content .admonition.tip i.icon{color:#00bfa5}.page .post-content .admonition.success{border-left-color:#00c853}.page .post-content .admonition.success i.icon{color:#00c853}.page .post-content .admonition.question{border-left-color:#64dd17}.page .post-content .admonition.question i.icon{color:#64dd17}.page .post-content .admonition.warning{border-left-color:#ff9100}.page .post-content .admonition.warning i.icon{color:#ff9100}.page .post-content .admonition.failure{border-left-color:#ff5252}.page .post-content .admonition.failure i.icon{color:#ff5252}.page .post-content .admonition.danger{border-left-color:#ff1744}.page .post-content .admonition.danger i.icon{color:#ff1744}.page .post-content .admonition.bug{border-left-color:#f50057}.page .post-content .admonition.bug i.icon{color:#f50057}.page .post-content .admonition.example{border-left-color:#651fff}.page .post-content .admonition.example i.icon{color:#651fff}.page .post-content .admonition.quote{border-left-color:#9e9e9e}.page .post-content .admonition.quote i.icon{color:#9e9e9e}.page .post-content .admonition.note{background-color:rgba(68,138,255,0.1)}.page .post-content .admonition.note .admonition-title{border-bottom-color:rgba(68,138,255,0.1);background-color:rgba(68,138,255,0.1)}.page .post-content .admonition.abstract{background-color:rgba(0,176,255,0.1)}.page .post-content .admonition.abstract .admonition-title{border-bottom-color:rgba(0,176,255,0.1);background-color:rgba(0,176,255,0.1)}.page .post-content .admonition.info{background-color:rgba(0,184,212,0.1)}.page .post-content .admonition.info .admonition-title{border-bottom-color:rgba(0,184,212,0.1);background-color:rgba(0,184,212,0.1)}.page .post-content .admonition.tip{background-color:rgba(0,191,165,0.1)}.page .post-content .admonition.tip .admonition-title{border-bottom-color:rgba(0,191,165,0.1);background-color:rgba(0,191,165,0.1)}.page .post-content .admonition.success{background-color:rgba(0,200,83,0.1)}.page .post-content .admonition.success .admonition-title{border-bottom-color:rgba(0,200,83,0.1);background-color:rgba(0,200,83,0.1)}.page .post-content .admonition.question{background-color:rgba(100,221,23,0.1)}.page .post-content .admonition.question .admonition-title{border-bottom-color:rgba(100,221,23,0.1);background-color:rgba(100,221,23,0.1)}.page .post-content .admonition.warning{background-color:rgba(255,145,0,0.1)}.page .post-content .admonition.warning .admonition-title{border-bottom-color:rgba(255,145,0,0.1);background-color:rgba(255,145,0,0.1)}.page .post-content .admonition.failure{background-color:rgba(255,82,82,0.1)}.page .post-content .admonition.failure .admonition-title{border-bottom-color:rgba(255,82,82,0.1);background-color:rgba(255,82,82,0.1)}.page .post-content .admonition.danger{background-color:rgba(255,23,68,0.1)}.page .post-content .admonition.danger .admonition-title{border-bottom-color:rgba(255,23,68,0.1);background-color:rgba(255,23,68,0.1)}.page .post-content .admonition.bug{background-color:rgba(245,0,87,0.1)}.page .post-content .admonition.bug .admonition-title{border-bottom-color:rgba(245,0,87,0.1);background-color:rgba(245,0,87,0.1)}.page .post-content .admonition.example{background-color:rgba(101,31,255,0.1)}.page .post-content .admonition.example .admonition-title{border-bottom-color:rgba(101,31,255,0.1);background-color:rgba(101,31,255,0.1)}.page .post-content .admonition.quote{background-color:rgba(158,158,158,0.1)}.page .post-content .admonition.quote .admonition-title{border-bottom-color:rgba(158,158,158,0.1);background-color:rgba(158,158,158,0.1)}.page .post-content .admonition:last-child{margin-bottom:.75rem}.page .post-content details.admonition summary{display:block;outline:none;cursor:pointer}.page .post-content details.admonition summary::-webkit-details-marker{display:none}.page .post-content details.admonition summary i.details{position:absolute;top:.75rem;right:.75rem;color:#161209}.dark-theme .page .post-content details.admonition summary i.details{color:#a9a9b3}.page .post-content details.admonition[open] i.details{transform:rotate(180deg)}.page .post-content .mermaid{width:100%;margin:3% auto;text-align:center}.page .post-content .mermaid .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.page .post-content .mermaid .label text{fill:#333}.page .post-content .mermaid .node rect,.page .post-content .mermaid .node circle,.page .post-content .mermaid .node ellipse,.page .post-content .mermaid .node polygon{fill:#eee;stroke:#999;stroke-width:1px}.page .post-content .mermaid .node .label{text-align:center}.page .post-content .mermaid .node.clickable{cursor:pointer}.page .post-content .mermaid .arrowheadPath{fill:#333}.page .post-content .mermaid .edgePath .path{stroke:#666;stroke-width:1.5px}.page .post-content .mermaid .edgeLabel{background-color:#fff;text-align:center}.page .post-content .mermaid .cluster rect{fill:#eaf2fb;stroke:#26a;stroke-width:1px}.page .post-content .mermaid .cluster text{fill:#333}.page .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}.page .post-content .mermaid .actor{stroke:#999;fill:#eee}.page .post-content .mermaid text.actor{fill:#333;stroke:none}.page .post-content .mermaid .actor-line{stroke:#666}.page .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.page .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#333}.page .post-content .mermaid #arrowhead{fill:#333}.page .post-content .mermaid .sequenceNumber{fill:#fff}.page .post-content .mermaid #sequencenumber{fill:#333}.page .post-content .mermaid #crosshead path{fill:#333 !important;stroke:#333 !important}.page .post-content .mermaid .messageText{fill:#333;stroke:none}.page .post-content .mermaid .labelBox{stroke:#999;fill:#eee}.page .post-content .mermaid .labelText{fill:#333;stroke:none}.page .post-content .mermaid .loopText{fill:#333;stroke:none}.page .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#999}.page .post-content .mermaid .note{stroke:#770;fill:#ffa}.page .post-content .mermaid .noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.page .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.page .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.page .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.page .post-content .mermaid .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .section{stroke:none;opacity:0.2}.page .post-content .mermaid .section0{fill:#80b3e6}.page .post-content .mermaid .section2{fill:#80b3e6}.page .post-content .mermaid .section1,.page .post-content .mermaid .section3{fill:#fff;opacity:0.2}.page .post-content .mermaid .sectionTitle0{fill:#333}.page .post-content .mermaid .sectionTitle1{fill:#333}.page .post-content .mermaid .sectionTitle2{fill:#333}.page .post-content .mermaid .sectionTitle3{fill:#333}.page .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)}.page .post-content .mermaid .grid .tick{stroke:#e6e5e5;opacity:0.3;shape-rendering:crispEdges}.page .post-content .mermaid .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .grid path{stroke-width:0}.page .post-content .mermaid .today{fill:none;stroke:#d42;stroke-width:2px}.page .post-content .mermaid .task{stroke-width:2}.page .post-content .mermaid .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .taskText:not([font-size]){font-size:11px}.page .post-content .mermaid .taskTextOutsideRight{fill:#333;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .taskTextOutsideLeft{fill:#333;text-anchor:end;font-size:11px}.page .post-content .mermaid .task.clickable{cursor:pointer}.page .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.page .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.page .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.page .post-content .mermaid .taskText0,.page .post-content .mermaid .taskText1,.page .post-content .mermaid .taskText2,.page .post-content .mermaid .taskText3{fill:#fff}.page .post-content .mermaid .task0,.page .post-content .mermaid .task1,.page .post-content .mermaid .task2,.page .post-content .mermaid .task3{fill:#26a;stroke:#1a4d80}.page .post-content .mermaid .taskTextOutside0,.page .post-content .mermaid .taskTextOutside2{fill:#333}.page .post-content .mermaid .taskTextOutside1,.page .post-content .mermaid .taskTextOutside3{fill:#333}.page .post-content .mermaid .active0,.page .post-content .mermaid .active1,.page .post-content .mermaid .active2,.page .post-content .mermaid .active3{fill:#eee;stroke:#1a4d80}.page .post-content .mermaid .activeText0,.page .post-content .mermaid .activeText1,.page .post-content .mermaid .activeText2,.page .post-content .mermaid .activeText3{fill:#333 !important}.page .post-content .mermaid .done0,.page .post-content .mermaid .done1,.page .post-content .mermaid .done2,.page .post-content .mermaid .done3{stroke:#666;fill:#bbb;stroke-width:2}.page .post-content .mermaid .doneText0,.page .post-content .mermaid .doneText1,.page .post-content .mermaid .doneText2,.page .post-content .mermaid .doneText3{fill:#333 !important}.page .post-content .mermaid .crit0,.page .post-content .mermaid .crit1,.page .post-content .mermaid .crit2,.page .post-content .mermaid .crit3{stroke:#b1361b;fill:#d42;stroke-width:2}.page .post-content .mermaid .activeCrit0,.page .post-content .mermaid .activeCrit1,.page .post-content .mermaid .activeCrit2,.page .post-content .mermaid .activeCrit3{stroke:#b1361b;fill:#eee;stroke-width:2}.page .post-content .mermaid .doneCrit0,.page .post-content .mermaid .doneCrit1,.page .post-content .mermaid .doneCrit2,.page .post-content .mermaid .doneCrit3{stroke:#b1361b;fill:#bbb;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.page .post-content .mermaid .milestone{transform:rotate(45deg) scale(0.8, 0.8)}.page .post-content .mermaid .milestoneText{font-style:italic}.page .post-content .mermaid .doneCritText0,.page .post-content .mermaid .doneCritText1,.page .post-content .mermaid .doneCritText2,.page .post-content .mermaid .doneCritText3{fill:#333 !important}.page .post-content .mermaid .activeCritText0,.page .post-content .mermaid .activeCritText1,.page .post-content .mermaid .activeCritText2,.page .post-content .mermaid .activeCritText3{fill:#333 !important}.page .post-content .mermaid .titleText{text-anchor:middle;font-size:18px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .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}.page .post-content .mermaid g.classGroup text .title{font-weight:bolder}.page .post-content .mermaid g.classGroup rect{fill:#eee;stroke:#999}.page .post-content .mermaid g.classGroup line{stroke:#999;stroke-width:1}.page .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}.page .post-content .mermaid .classLabel .label{fill:#999;font-size:10px}.page .post-content .mermaid .relation{stroke:#999;stroke-width:1;fill:none}.page .post-content .mermaid #compositionStart{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #compositionEnd{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #aggregationStart{fill:#eee;stroke:#999;stroke-width:1}.page .post-content .mermaid #aggregationEnd{fill:#eee;stroke:#999;stroke-width:1}.page .post-content .mermaid #dependencyStart{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #dependencyEnd{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #extensionStart{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid #extensionEnd{fill:#999;stroke:#999;stroke-width:1}.page .post-content .mermaid .commit-id,.page .post-content .mermaid .commit-msg,.page .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .pieTitleText{text-anchor:middle;font-size:25px;fill:#333;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .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)}.page .post-content .mermaid g.stateGroup text{fill:#999;stroke:none;font-size:10px}.page .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.page .post-content .mermaid g.stateGroup rect{fill:#eee;stroke:#999}.page .post-content .mermaid g.stateGroup line{stroke:#999;stroke-width:1}.page .post-content .mermaid .transition{stroke:#999;stroke-width:1;fill:none}.page .post-content .mermaid .stateGroup .composit{fill:white;border-bottom:1px}.page .post-content .mermaid .state-note{stroke:#770;fill:#ffa}.page .post-content .mermaid .state-note text{fill:black;stroke:none;font-size:10px}.page .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#eee;opacity:0.5}.page .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.page .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.dark-theme .page .post-content .mermaid .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);color:#333}.dark-theme .page .post-content .mermaid .label text{fill:#333}.dark-theme .page .post-content .mermaid .node rect,.dark-theme .page .post-content .mermaid .node circle,.dark-theme .page .post-content .mermaid .node ellipse,.dark-theme .page .post-content .mermaid .node polygon{fill:#BDD5EA;stroke:purple;stroke-width:1px}.dark-theme .page .post-content .mermaid .node .label{text-align:center}.dark-theme .page .post-content .mermaid .node.clickable{cursor:pointer}.dark-theme .page .post-content .mermaid .arrowheadPath{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .edgePath .path{stroke:#d3d3d3;stroke-width:1.5px}.dark-theme .page .post-content .mermaid .edgeLabel{background-color:#e8e8e8;text-align:center}.dark-theme .page .post-content .mermaid .cluster rect{fill:#6D6D65;stroke:rgba(255,255,255,0.25);stroke-width:1px}.dark-theme .page .post-content .mermaid .cluster text{fill:#F9FFFE}.dark-theme .page .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,0.25);border-radius:2px;pointer-events:none;z-index:100}.dark-theme .page .post-content .mermaid .actor{stroke:#81B1DB;fill:#BDD5EA}.dark-theme .page .post-content .mermaid text.actor{fill:#000;stroke:none}.dark-theme .page .post-content .mermaid .actor-line{stroke:#d3d3d3}.dark-theme .page .post-content .mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#d3d3d3}.dark-theme .page .post-content .mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:'2 2';stroke:#d3d3d3}.dark-theme .page .post-content .mermaid #arrowhead{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .sequenceNumber{fill:#fff}.dark-theme .page .post-content .mermaid #sequencenumber{fill:#d3d3d3}.dark-theme .page .post-content .mermaid #crosshead path{fill:#d3d3d3 !important;stroke:#d3d3d3 !important}.dark-theme .page .post-content .mermaid .messageText{fill:#d3d3d3;stroke:none}.dark-theme .page .post-content .mermaid .labelBox{stroke:#81B1DB;fill:#BDD5EA}.dark-theme .page .post-content .mermaid .labelText{fill:#323D47;stroke:none}.dark-theme .page .post-content .mermaid .loopText{fill:#d3d3d3;stroke:none}.dark-theme .page .post-content .mermaid .loopLine{stroke-width:2;stroke-dasharray:'2 2';stroke:#81B1DB}.dark-theme .page .post-content .mermaid .note{stroke:rgba(255,255,255,0.25);fill:#fff5ad}.dark-theme .page .post-content .mermaid .noteText{fill:black;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:14px}.dark-theme .page .post-content .mermaid .activation0{fill:#f4f4f4;stroke:#666}.dark-theme .page .post-content .mermaid .activation1{fill:#f4f4f4;stroke:#666}.dark-theme .page .post-content .mermaid .activation2{fill:#f4f4f4;stroke:#666}.dark-theme .page .post-content .mermaid .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid .section{stroke:none;opacity:0.2}.dark-theme .page .post-content .mermaid .section0{fill:rgba(255,255,255,0.3)}.dark-theme .page .post-content .mermaid .section2{fill:#EAE8B9}.dark-theme .page .post-content .mermaid .section1,.dark-theme .page .post-content .mermaid .section3{fill:#fff;opacity:0.2}.dark-theme .page .post-content .mermaid .sectionTitle0{fill:#F9FFFE}.dark-theme .page .post-content .mermaid .sectionTitle1{fill:#F9FFFE}.dark-theme .page .post-content .mermaid .sectionTitle2{fill:#F9FFFE}.dark-theme .page .post-content .mermaid .sectionTitle3{fill:#F9FFFE}.dark-theme .page .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 .page .post-content .mermaid .grid .tick{stroke:#d3d3d3;opacity:0.3;shape-rendering:crispEdges}.dark-theme .page .post-content .mermaid .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid .grid path{stroke-width:0}.dark-theme .page .post-content .mermaid .today{fill:none;stroke:#DB5757;stroke-width:2px}.dark-theme .page .post-content .mermaid .task{stroke-width:2}.dark-theme .page .post-content .mermaid .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid .taskText:not([font-size]){font-size:11px}.dark-theme .page .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 .page .post-content .mermaid .taskTextOutsideLeft{fill:#323D47;text-anchor:end;font-size:11px}.dark-theme .page .post-content .mermaid .task.clickable{cursor:pointer}.dark-theme .page .post-content .mermaid .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.dark-theme .page .post-content .mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.dark-theme .page .post-content .mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}.dark-theme .page .post-content .mermaid .taskText0,.dark-theme .page .post-content .mermaid .taskText1,.dark-theme .page .post-content .mermaid .taskText2,.dark-theme .page .post-content .mermaid .taskText3{fill:#323D47}.dark-theme .page .post-content .mermaid .task0,.dark-theme .page .post-content .mermaid .task1,.dark-theme .page .post-content .mermaid .task2,.dark-theme .page .post-content .mermaid .task3{fill:#BDD5EA;stroke:rgba(255,255,255,0.5)}.dark-theme .page .post-content .mermaid .taskTextOutside0,.dark-theme .page .post-content .mermaid .taskTextOutside2{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .taskTextOutside1,.dark-theme .page .post-content .mermaid .taskTextOutside3{fill:#d3d3d3}.dark-theme .page .post-content .mermaid .active0,.dark-theme .page .post-content .mermaid .active1,.dark-theme .page .post-content .mermaid .active2,.dark-theme .page .post-content .mermaid .active3{fill:#81B1DB;stroke:rgba(255,255,255,0.5)}.dark-theme .page .post-content .mermaid .activeText0,.dark-theme .page .post-content .mermaid .activeText1,.dark-theme .page .post-content .mermaid .activeText2,.dark-theme .page .post-content .mermaid .activeText3{fill:#323D47 !important}.dark-theme .page .post-content .mermaid .done0,.dark-theme .page .post-content .mermaid .done1,.dark-theme .page .post-content .mermaid .done2,.dark-theme .page .post-content .mermaid .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}.dark-theme .page .post-content .mermaid .doneText0,.dark-theme .page .post-content .mermaid .doneText1,.dark-theme .page .post-content .mermaid .doneText2,.dark-theme .page .post-content .mermaid .doneText3{fill:#323D47 !important}.dark-theme .page .post-content .mermaid .crit0,.dark-theme .page .post-content .mermaid .crit1,.dark-theme .page .post-content .mermaid .crit2,.dark-theme .page .post-content .mermaid .crit3{stroke:#E83737;fill:#E83737;stroke-width:2}.dark-theme .page .post-content .mermaid .activeCrit0,.dark-theme .page .post-content .mermaid .activeCrit1,.dark-theme .page .post-content .mermaid .activeCrit2,.dark-theme .page .post-content .mermaid .activeCrit3{stroke:#E83737;fill:#81B1DB;stroke-width:2}.dark-theme .page .post-content .mermaid .doneCrit0,.dark-theme .page .post-content .mermaid .doneCrit1,.dark-theme .page .post-content .mermaid .doneCrit2,.dark-theme .page .post-content .mermaid .doneCrit3{stroke:#E83737;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}.dark-theme .page .post-content .mermaid .milestone{transform:rotate(45deg) scale(0.8, 0.8)}.dark-theme .page .post-content .mermaid .milestoneText{font-style:italic}.dark-theme .page .post-content .mermaid .doneCritText0,.dark-theme .page .post-content .mermaid .doneCritText1,.dark-theme .page .post-content .mermaid .doneCritText2,.dark-theme .page .post-content .mermaid .doneCritText3{fill:#323D47 !important}.dark-theme .page .post-content .mermaid .activeCritText0,.dark-theme .page .post-content .mermaid .activeCritText1,.dark-theme .page .post-content .mermaid .activeCritText2,.dark-theme .page .post-content .mermaid .activeCritText3{fill:#323D47 !important}.dark-theme .page .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 .page .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 .page .post-content .mermaid g.classGroup text .title{font-weight:bolder}.dark-theme .page .post-content .mermaid g.classGroup rect{fill:#BDD5EA;stroke:purple}.dark-theme .page .post-content .mermaid g.classGroup line{stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#BDD5EA;opacity:0.5}.dark-theme .page .post-content .mermaid .classLabel .label{fill:purple;font-size:10px}.dark-theme .page .post-content .mermaid .relation{stroke:purple;stroke-width:1;fill:none}.dark-theme .page .post-content .mermaid #compositionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #compositionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #aggregationStart{fill:#BDD5EA;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #aggregationEnd{fill:#BDD5EA;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #dependencyStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #dependencyEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #extensionStart{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid #extensionEnd{fill:purple;stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid .commit-id,.dark-theme .page .post-content .mermaid .commit-msg,.dark-theme .page .post-content .mermaid .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .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 .page .post-content .mermaid .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .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 .page .post-content .mermaid g.stateGroup text{fill:purple;stroke:none;font-size:10px}.dark-theme .page .post-content .mermaid g.stateGroup .state-title{font-weight:bolder;fill:#000}.dark-theme .page .post-content .mermaid g.stateGroup rect{fill:#BDD5EA;stroke:purple}.dark-theme .page .post-content .mermaid g.stateGroup line{stroke:purple;stroke-width:1}.dark-theme .page .post-content .mermaid .transition{stroke:purple;stroke-width:1;fill:none}.dark-theme .page .post-content .mermaid .stateGroup .composit{fill:white;border-bottom:1px}.dark-theme .page .post-content .mermaid .state-note{stroke:rgba(255,255,255,0.25);fill:#fff5ad}.dark-theme .page .post-content .mermaid .state-note text{fill:black;stroke:none;font-size:10px}.dark-theme .page .post-content .mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#BDD5EA;opacity:0.5}.dark-theme .page .post-content .mermaid .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}.dark-theme .page .post-content .mermaid :root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}.dark-theme .page .post-content .aplayer{background:#212121}.dark-theme .page .post-content .aplayer.aplayer-withlist .aplayer-info{border-bottom-color:#5c5c5c}.dark-theme .page .post-content .aplayer.aplayer-fixed .aplayer-list{border-color:#5c5c5c}.dark-theme .page .post-content .aplayer .aplayer-body{background-color:#212121}.dark-theme .page .post-content .aplayer .aplayer-info{border-top-color:#212121}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-music .aplayer-title{color:#fff}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-music .aplayer-author{color:#fff}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-controller .aplayer-time{color:#eee}.dark-theme .page .post-content .aplayer .aplayer-info .aplayer-controller .aplayer-time .aplayer-icon path{fill:#eee}.dark-theme .page .post-content .aplayer .aplayer-list{background-color:#212121}.dark-theme .page .post-content .aplayer .aplayer-list::-webkit-scrollbar-thumb{background-color:#999}.dark-theme .page .post-content .aplayer .aplayer-list::-webkit-scrollbar-thumb:hover{background-color:#bbb}.dark-theme .page .post-content .aplayer .aplayer-list li{color:#fff;border-top-color:#666}.dark-theme .page .post-content .aplayer .aplayer-list li:hover{background:#4e4e4e}.dark-theme .page .post-content .aplayer .aplayer-list li.aplayer-list-light{background:#6c6c6c}.dark-theme .page .post-content .aplayer .aplayer-list li .aplayer-list-index{color:#ddd}.dark-theme .page .post-content .aplayer .aplayer-list li .aplayer-list-author{color:#ddd}.dark-theme .page .post-content .aplayer .aplayer-lrc{text-shadow:-1px -1px 0 #666}.dark-theme .page .post-content .aplayer .aplayer-lrc:before{background:-moz-linear-gradient(top, #212121 0%, rgba(33,33,33,0) 100%);background:-webkit-linear-gradient(top, #212121 0%, rgba(33,33,33,0) 100%);background:linear-gradient(to bottom, #212121 0%, rgba(33,33,33,0) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#212121', endColorstr='#00212121',GradientType=0 )}.dark-theme .page .post-content .aplayer .aplayer-lrc:after{background:-moz-linear-gradient(top, rgba(33,33,33,0) 0%, rgba(33,33,33,0.8) 100%);background:-webkit-linear-gradient(top, rgba(33,33,33,0) 0%, rgba(33,33,33,0.8) 100%);background:linear-gradient(to bottom, rgba(33,33,33,0) 0%, rgba(33,33,33,0.8) 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#00212121', endColorstr='#cc212121',GradientType=0 )}.dark-theme .page .post-content .aplayer .aplayer-lrc p{color:#fff}.dark-theme .page .post-content .aplayer .aplayer-miniswitcher{background:#484848}.dark-theme .page .post-content .aplayer .aplayer-miniswitcher .aplayer-icon path{fill:#eee}.page .post-content .echarts{width:100%;height:30rem;margin:3% auto;text-align:center}.page .post-content .bilibili{position:relative;width:100%;height:0;padding-bottom:75%;margin:3% auto;text-align:center}.page .post-content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.page .post-content hr{margin:1rem 0;position:relative;border-top:1px dashed #dcdcdc;border-bottom:none}.dark-theme .page .post-content hr{border-top:1px dashed #4a4b50}.page .post-content kbd{display:inline-block;padding:.25rem;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:.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;color:#E74C3C}.dark-theme .page .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}.page .post-content .typeit .code{padding:.375rem;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace;font-weight:bold;word-break:break-all}.page .post-content .align-left{text-align:left}.page .post-content .align-center{text-align:center}.page .post-content .align-right{text-align:right}.page .post-content .float-left{float:left}.page .post-content .float-right{float:right}.page .post-footer{margin-top:3rem}.page .post-footer .post-info{border-bottom:1px solid #dcdcdc;padding:1rem 0 0.3rem}.dark-theme .page .post-footer .post-info{border-bottom:1px solid #4a4b50}.page .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.page .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#a9a9b3}.dark-theme .page .post-footer .post-info .post-info-line .post-info-mod{color:#5d5d5f}.page .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#a9a9b3}.dark-theme .page .post-footer .post-info .post-info-line .post-info-license{color:#5d5d5f}.page .post-footer .post-info .post-info-line .post-info-md a{font-size:0.8em;color:#2d96bd}.dark-theme .page .post-footer .post-info .post-info-line .post-info-md a{color:#eee}.page .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ef3982}.dark-theme .page .post-footer .post-info .post-info-line .post-info-md a:hover{color:#2d96bd}.page .post-footer .post-info-more{padding:0.3rem 0 1rem;display:flex;justify-content:space-between;font-size:0.9rem}.page .post-footer .post-nav::before,.page .post-footer .post-nav::after{content:' ';display:table}.page .post-footer .post-nav a.prev,.page .post-footer .post-nav a.next{font-size:1rem;font-weight:600;transition-duration:.3s;transition-property:transform;transition-timing-function:ease-out}.page .post-footer .post-nav a.prev{float:left}.page .post-footer .post-nav a.prev:hover{transform:translateX(-4px)}.page .post-footer .post-nav a.next{float:right}.page .post-footer .post-nav a.next:hover{transform:translateX(4px)}.page .post-comment{padding:4rem 0}.page .home-intro{transform:translateY(0);padding:2rem 0 2rem 0}.page .home-intro .home-avatar img{width:6rem}.page .post{padding-top:1rem;padding-bottom:.8rem;color:#161209;border-bottom:1px dashed #dcdcdc}.dark-theme .page .post{color:#a9a9b3;border-bottom:1px dashed #4a4b50}.page .post .post-featured-image-preview{width:100%;padding:30% 0 0;position:relative;margin:0.6rem auto}.page .post .post-featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;object-fit:cover}.page .post .post-title{font-size:1.6rem}.page .post .post-meta{font-size:.875rem !important}.page .post .post-meta a{color:#a9a9b3 !important}.dark-theme .page .post .post-meta a{color:#5d5d5f !important}.page .post .post-meta a:hover{color:#2d96bd !important}.dark-theme .page .post .post-meta a:hover{color:#fff !important}.page .post .post-content{display:-webkit-box;margin-top:.3rem;width:100%;max-height:10rem;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.page .post .post-content h2,.page .post .post-content h3,.page .post .post-content h4,.page .post .post-content h5,.page .post .post-content h6,.page .post .post-content p{font-size:1rem;margin:0;padding:.2rem 0;overflow:hidden;overflow-wrap:break-word;text-overflow:ellipsis}.page .post .post-content a{word-break:break-all}.page .post .post-footer{margin-top:.5rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem !important}.page .post .post-footer a{color:#2d96bd !important}.dark-theme .page .post .post-footer a{color:#eee !important}.page .post .post-footer a:hover{color:#ef3982 !important}.dark-theme .page .post .post-footer a:hover{color:#2d96bd !important}.page .post .post-footer .post-tags{padding:0}.page .post .post-footer .post-tags a{color:#161209 !important}.dark-theme .page .post .post-footer .post-tags a{color:#a9a9b3 !important}.page .post .post-footer .post-tags a:hover{color:#2d96bd !important}.dark-theme .page .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 .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block}.archive .categories-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.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 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}.dark-theme .archive .archive-item-link:hover{color:#fff;text-decoration:none;transition:color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease}.archive .archive-item-date{float:right;text-align:right;color:#a9a9b3}.dark-theme .archive .archive-item-date{color:#5d5d5f}.archive .more-post{text-align:right}.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 4rem;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 0.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:0px 2px 4px rgba(0,0,0,0.1),0px 4px 8px rgba(0,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%}.copyright .copyright-line .icp-br{display:none}.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:bold;padding:1rem 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,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") no-repeat center center}.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 5px;text-decoration:none;transition:0.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:0.3s;bottom:0px}.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){.page{max-width:780px}.page .post-toc{width:300px;margin-left:800px}}@media only screen and (max-width: 1440px){.page{max-width:680px}.page .post-toc{width:240px;margin-left:700px}}@media only screen and (max-width: 1200px){.page{max-width:560px}.page .post-toc{width:180px;margin-left:580px}}@media only screen and (max-width: 960px){.navbar .navbar-container{margin:0 1rem}.page{max-width:80%}.page .post-toc{display:none}.page .post-toc-mobile{display:block}}@media only screen and (max-width: 560px){.navbar{display:none}.navbar-mobile{display:block}.page{max-width:100%}.page .categories-card .card-item{width:100%}.copyright .copyright-line .icp-splitter{display:none}.copyright .copyright-line .icp-br{display:block}.dynamic-to-top{display:none !important}} /*# sourceMappingURL=style.min.css.map */ \ No newline at end of file From 12bd1e1935584ab2fd77d47332e75931f0d71ed9 Mon Sep 17 00:00:00 2001 From: Dillon Date: Fri, 14 Feb 2020 01:30:33 +0800 Subject: [PATCH 2/5] chore: refactor code style --- assets/css/_core/_base.scss | 1 - assets/css/_core/_media.scss | 8 +- assets/css/_page/_404.scss | 2 +- assets/css/_page/_archive.scss | 9 ++ assets/css/_page/_home.scss | 105 +++++++------ assets/css/_page/_index.scss | 23 +-- assets/css/_page/_posts.scss | 143 ------------------ assets/css/_page/{_post.scss => _single.scss} | 55 +++---- assets/css/_page/_special.scss | 6 + .../{_page => _partial/_archive}/_tags.scss | 0 .../{_page => _partial/_archive}/_terms.scss | 0 .../_partial/{_navbar.scss => _header.scss} | 46 +++--- assets/css/_partial/_home/_summary.scss | 134 ++++++++++++++++ assets/css/_partial/_pagination.scss | 2 +- .../{_post => _single}/_admonition.scss | 0 .../_partial/{_post => _single}/_code.scss | 0 .../_partial/{_post => _single}/_comment.scss | 2 +- .../_partial/{_post => _single}/_footer.scss | 8 +- .../css/_partial/{_post => _single}/_toc.scss | 12 +- assets/css/_variables.scss | 32 ++-- assets/css/custom-style.scss | 16 -- assets/css/style.scss | 13 -- assets/css/style.template.scss | 29 ++++ assets/js/blog.js | 6 +- layouts/404.html | 2 +- layouts/_default/baseof.html | 10 +- layouts/_default/section.html | 2 +- layouts/_default/single.html | 6 +- layouts/_default/summary.html | 12 +- layouts/index.html | 18 +-- .../partials/{comments.html => comment.html} | 6 +- .../partials/{head.html => head/link.html} | 52 ++----- layouts/partials/head/meta.html | 21 +++ layouts/partials/{ => head}/seo.html | 0 layouts/partials/header.html | 26 ++-- layouts/partials/home/profile.html | 2 +- layouts/partials/{ => hook}/image.html | 0 layouts/posts/single.html | 20 +-- layouts/taxonomy/list.html | 2 +- layouts/taxonomy/terms.html | 4 +- ...s_a707772b4d98a91469dad78dcf3d2e9a.content | 3 - ...s_d75fd08668b4bae707167bbce4d8ca46.content | 3 - ...scss_d75fd08668b4bae707167bbce4d8ca46.json | 1 - ...s_b8ba9a60a151126bfcde1421dc0b972d.content | 3 + ...css_b8ba9a60a151126bfcde1421dc0b972d.json} | 0 45 files changed, 422 insertions(+), 423 deletions(-) create mode 100644 assets/css/_page/_archive.scss delete mode 100644 assets/css/_page/_posts.scss rename assets/css/_page/{_post.scss => _single.scss} (86%) create mode 100644 assets/css/_page/_special.scss rename assets/css/{_page => _partial/_archive}/_tags.scss (100%) rename assets/css/{_page => _partial/_archive}/_terms.scss (100%) rename assets/css/_partial/{_navbar.scss => _header.scss} (82%) create mode 100644 assets/css/_partial/_home/_summary.scss rename assets/css/_partial/{_post => _single}/_admonition.scss (100%) rename assets/css/_partial/{_post => _single}/_code.scss (100%) rename assets/css/_partial/{_post => _single}/_comment.scss (56%) rename assets/css/_partial/{_post => _single}/_footer.scss (89%) rename assets/css/_partial/{_post => _single}/_toc.scss (89%) delete mode 100644 assets/css/custom-style.scss delete mode 100644 assets/css/style.scss create mode 100644 assets/css/style.template.scss rename layouts/partials/{comments.html => comment.html} (98%) rename layouts/partials/{head.html => head/link.html} (59%) create mode 100644 layouts/partials/head/meta.html rename layouts/partials/{ => head}/seo.html (100%) rename layouts/partials/{ => hook}/image.html (100%) delete mode 100644 resources/_gen/assets/scss/css/custom-style.scss_a707772b4d98a91469dad78dcf3d2e9a.content delete mode 100644 resources/_gen/assets/scss/css/style.scss_d75fd08668b4bae707167bbce4d8ca46.content delete mode 100644 resources/_gen/assets/scss/css/style.scss_d75fd08668b4bae707167bbce4d8ca46.json create mode 100644 resources/_gen/assets/scss/css/style.template.scss_b8ba9a60a151126bfcde1421dc0b972d.content rename resources/_gen/assets/scss/css/{custom-style.scss_a707772b4d98a91469dad78dcf3d2e9a.json => style.template.scss_b8ba9a60a151126bfcde1421dc0b972d.json} (100%) diff --git a/assets/css/_core/_base.scss b/assets/css/_core/_base.scss index 395d18d..60bdf1f 100644 --- a/assets/css/_core/_base.scss +++ b/assets/css/_core/_base.scss @@ -60,7 +60,6 @@ body { a { color: $global-link-color; text-decoration: none; - word-break: break-all; transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, opacity 0.2s ease; &:hover { diff --git a/assets/css/_core/_media.scss b/assets/css/_core/_media.scss index 29a3db4..1a6b8c1 100644 --- a/assets/css/_core/_media.scss +++ b/assets/css/_core/_media.scss @@ -32,8 +32,8 @@ } @media only screen and (max-width: 960px) { - .navbar { - .navbar-container { + header.desktop { + .header-wrapper { margin: 0 1rem; } } @@ -52,11 +52,11 @@ } @media only screen and (max-width: 560px) { - .navbar { + header.desktop { display: none; } - .navbar-mobile { + header.mobile { display: block; } diff --git a/assets/css/_page/_404.scss b/assets/css/_page/_404.scss index f6d9195..4b2790f 100644 --- a/assets/css/_page/_404.scss +++ b/assets/css/_page/_404.scss @@ -1,4 +1,4 @@ -.notfound { +#content-404 { font-size: 1.8rem; line-height: 3rem; transform: translateY(30vh); diff --git a/assets/css/_page/_archive.scss b/assets/css/_page/_archive.scss new file mode 100644 index 0000000..2c6fed2 --- /dev/null +++ b/assets/css/_page/_archive.scss @@ -0,0 +1,9 @@ +.archive { + .single-title { + text-align: right; + padding-bottom: 2rem; + } + + @import "../_partial/_archive/terms"; + @import "../_partial/_archive/tags"; +} diff --git a/assets/css/_page/_home.scss b/assets/css/_page/_home.scss index 2f21d4b..0de22fe 100644 --- a/assets/css/_page/_home.scss +++ b/assets/css/_page/_home.scss @@ -1,55 +1,70 @@ /** Home **/ -.home-intro { - transform: translateY(25vh); - text-align: center; +@import "../_partial/_home/summary"; - .home-avatar { - padding: 0.6rem; +@mixin page-home($profile, $posts) { + .home { + @if $profile { + .home-profile { + transform: translateY(if($posts, 0, 16vh)); + padding: if($posts, 2rem, 0) 0; + text-align: center; - img { - width: 8rem; - height: auto; - display: inline-block; - -webkit-border-radius: 100%; - border-radius: 100%; - -webkit-box-shadow: 0 0 0 0.3618em rgba(0, 0, 0, 0.05); - box-shadow: 0 0 0 0.3618em rgba(0, 0, 0, 0.05); - margin: 0 auto; - -webkit-transition: all ease 0.4s; - -moz-transition: all ease 0.4s; - -o-transition: all ease 0.4s; - transition: all ease 0.4s; - cursor: pointer; + .home-avatar { + padding: 0.6rem; - &: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; + img { + width: if($posts, 6rem, 8rem); + height: auto; + display: inline-block; + -webkit-border-radius: 100%; + border-radius: 100%; + -webkit-box-shadow: 0 0 0 0.3618em rgba(0, 0, 0, 0.05); + box-shadow: 0 0 0 0.3618em rgba(0, 0, 0, 0.05); + margin: 0 auto; + -webkit-transition: all ease 0.4s; + -moz-transition: all ease 0.4s; + -o-transition: all ease 0.4s; + transition: all ease 0.4s; + cursor: pointer; + + &: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-description { + font-size: 1rem; + font-weight: normal; + margin: 0; + padding: .4rem; + } + + .home-social-links { + padding-top: .6rem; + + i { + font-size: 1.45rem; + } + + img { + width: 1.5rem; + height: 1.5rem; + } + } } } - } - .home-description { - font-size: 1rem; - font-weight: normal; - margin: 0; - padding: .4rem; - } - - .home-social-links { - padding-top: .6rem; - - i { - font-size: 1.45rem; - } - - img { - width: 1.5rem; - height: 1.5rem; + @if $posts { + @include summary; } } } + +@include page-home($home-profile, $home-posts); diff --git a/assets/css/_page/_index.scss b/assets/css/_page/_index.scss index 58aa9d5..78cd7c8 100644 --- a/assets/css/_page/_index.scss +++ b/assets/css/_page/_index.scss @@ -6,25 +6,8 @@ padding-top: 6rem; } +@import "_single"; +@import "_special"; +@import "_archive"; @import "_home"; @import "_404"; - -@import "_post"; -@import "_posts"; - -.archive { - .post-title { - text-align: right; - padding-bottom: 2rem; - } - - @import "_terms"; - @import "_tags"; -} - -.single { - .post-title { - text-align: right; - padding-bottom: 2rem; - } -} diff --git a/assets/css/_page/_posts.scss b/assets/css/_page/_posts.scss deleted file mode 100644 index b81aea2..0000000 --- a/assets/css/_page/_posts.scss +++ /dev/null @@ -1,143 +0,0 @@ -.home-intro { - transform: translateY(0); - padding: 2rem 0 2rem 0; - - .home-avatar { - img { - width: 6rem; - } - } -} - -.summary { - padding-top: 1rem; - padding-bottom: .8rem; - color: $global-font-color; - border-bottom: 1px dashed $global-border-color; - - .dark-theme & { - color: $global-font-color-dark; - border-bottom: 1px dashed $global-border-color-dark; - } - - .post-featured-image-preview { - width: 100%; - padding: 30% 0 0; - position: relative; - margin: 0.6rem auto; - - img { - position: absolute; - width: 100%; - height: 100%; - left: 0; - top: 0; - object-fit: cover; - } - } - - .post-title { - font-size: 1.6rem; - } - - .post-meta { - font-size: .875rem !important; - a { - color: $global-font-secondary-color !important; - - .dark-theme & { - color: $global-font-secondary-color-dark !important; - } - - &:hover { - color: $global-link-hover-color !important; - - .dark-theme & { - color: $global-link-hover-color-dark !important; - } - } - } - } - - .post-content { - display: -moz-box; - display: -webkit-box; - -moz-box-orient: vertical; - -webkit-box-orient: vertical; - -webkit-line-clamp: 3; - margin-top: .3rem; - width: 100%; - overflow: hidden; - text-overflow: ellipsis; - overflow-wrap: break-word; - } - - h1, - h2, - h3, - h4, - h5, - h6, - p { - font-size: 1rem; - display: inline; - - &::after { - content: "\A"; - white-space: pre; - } - } - - h1, - h2, - h3, - h4, - h5, - h6 { - line-height: 2; - } - - .post-footer { - margin-top: .5rem; - display: flex; - justify-content: space-between; - align-items: center; - font-size: .875rem !important; - - a { - color: $post-link-color !important; - - .dark-theme & { - color: $post-link-color-dark !important; - } - - &:hover { - color: $post-link-hover-color !important; - - .dark-theme & { - color: $post-link-hover-color-dark !important; - } - } - } - - .post-tags { - padding: 0; - - a { - color: $global-link-color !important; - - .dark-theme & { - color: $global-link-color-dark !important; - } - - &:hover { - color: $global-link-hover-color !important; - - .dark-theme & { - color: $global-link-hover-color-dark !important; - } - } - } - } - } -} diff --git a/assets/css/_page/_post.scss b/assets/css/_page/_single.scss similarity index 86% rename from assets/css/_page/_post.scss rename to assets/css/_page/_single.scss index 82b3357..552c53e 100644 --- a/assets/css/_page/_post.scss +++ b/assets/css/_page/_single.scss @@ -1,12 +1,12 @@ -/** Post **/ -.post { - .post-title { +/** Single **/ +.single { + .single-title { margin: 0; font-size: 1.8rem; line-height: 3rem; } - .post-meta { + .meta { font-size: .88rem; color: $global-font-secondary-color; @@ -19,17 +19,17 @@ } a { - color: $post-link-color; + color: $single-link-color; .dark-theme & { - color: $post-link-color-dark; + color: $single-link-color-dark; } &:hover { - color: $post-link-hover-color; + color: $single-link-hover-color; .dark-theme & { - color: $post-link-hover-color-dark; + color: $single-link-hover-color-dark; } } } @@ -39,7 +39,7 @@ } } - .post-featured-image { + .featured-image { padding-top: .6rem; img { @@ -51,9 +51,9 @@ } } - @import "../_partial/_post/toc"; + @import "../_partial/_single/toc"; - .post-content { + .content { .post-dummy-target:target { display: inline-block; position: relative; @@ -86,10 +86,10 @@ h2::before { content: "#"; margin-right: .3125rem; - color: $post-link-color; + color: $single-link-color; .dark-theme & { - color: $post-link-color-dark; + color: $single-link-color-dark; } } @@ -99,10 +99,10 @@ h6::before { content: "|"; margin-right: .3125rem; - color: $post-link-color; + color: $single-link-color; .dark-theme & { - color: $post-link-color-dark; + color: $single-link-color-dark; } } @@ -112,18 +112,19 @@ } a { - color: $post-link-color; + word-break: break-all; + color: $single-link-color; .dark-theme & { - color: $post-link-color-dark; + color: $single-link-color-dark; } } a:hover { - color: $post-link-hover-color; + color: $single-link-hover-color; .dark-theme &:hover { - color: $post-link-hover-color-dark; + color: $single-link-hover-color-dark; font-weight: bold; } } @@ -233,11 +234,11 @@ width: 3rem; height: 2rem; font: 6em/1.08em 'PT Sans', sans-serif; - color: $post-link-color; + color: $single-link-color; text-align: center; .dark-theme & { - color: $post-link-color-dark; + color: $single-link-color-dark; } } @@ -246,10 +247,10 @@ display: block; text-align: right; font-size: 0.875em; - color: $post-link-color; + color: $single-link-color; .dark-theme & { - color: $post-link-color-dark; + color: $single-link-color-dark; } } @@ -266,8 +267,8 @@ } } - @import "../_partial/_post/code"; - @import "../_partial/_post/admonition"; + @import "../_partial/_single/code"; + @import "../_partial/_single/admonition"; .mermaid { width: 100%; @@ -372,6 +373,6 @@ } } - @import "../_partial/_post/footer"; - @import "../_partial/_post/comment"; + @import "../_partial/_single/footer"; + @import "../_partial/_single/comment"; } diff --git a/assets/css/_page/_special.scss b/assets/css/_page/_special.scss new file mode 100644 index 0000000..00bb32a --- /dev/null +++ b/assets/css/_page/_special.scss @@ -0,0 +1,6 @@ +.special { + .single-title { + text-align: right; + padding-bottom: 2rem; + } +} diff --git a/assets/css/_page/_tags.scss b/assets/css/_partial/_archive/_tags.scss similarity index 100% rename from assets/css/_page/_tags.scss rename to assets/css/_partial/_archive/_tags.scss diff --git a/assets/css/_page/_terms.scss b/assets/css/_partial/_archive/_terms.scss similarity index 100% rename from assets/css/_page/_terms.scss rename to assets/css/_partial/_archive/_terms.scss diff --git a/assets/css/_partial/_navbar.scss b/assets/css/_partial/_header.scss similarity index 82% rename from assets/css/_partial/_navbar.scss rename to assets/css/_partial/_header.scss index 10ce1bc..61df6d3 100644 --- a/assets/css/_partial/_navbar.scss +++ b/assets/css/_partial/_header.scss @@ -1,78 +1,78 @@ -.navbar { +header.desktop { display: block; position: fixed; width: 100%; z-index: 100; height: 4rem; line-height: 4rem; - background-color: $navbar-background-color; + background-color: $header-background-color; .dark-theme & { - background-color: $navbar-background-color-dark; + background-color: $header-background-color-dark; } - .navbar-container { + .header-wrapper { width: auto; text-align: center; margin: 0 4rem; display: flex; justify-content: space-between; - .navbar-header a { + .header-title a { padding: 0 8px; - font-size: 20px; + font-size: 1.25rem; i { - line-height: 2em; + line-height: 2rem; } } - .navbar-menu a { + .menu a { padding: 0 8px; &.active { font-weight: 900; - color: $navbar-hover-color; + color: $header-hover-color; .dark-theme & { - color: $navbar-hover-color-dark; + color: $header-hover-color-dark; } } } } } -.navbar-mobile { +header.mobile { display: none; position: fixed; width: 100%; z-index: 100; transition: all 0.3s ease 0s; - .navbar-container { + .header-wrapper { padding: 0; margin: 0; - height: 4.5em; - line-height: 4.5em; + height: 4.5rem; + line-height: 4.5rem; background: $global-background-color; - .navbar-header { + .header-container { display: flex; justify-content: space-between; align-items: center; width: 100%; - font-size: 18px; - padding-right: 1em; - padding-left: 1em; + font-size: 1.125rem; + padding-right: 1rem; + padding-left: 1rem; box-sizing: border-box; - .navbar-header-title { - font-size: 20px; + .header-title { + font-size: 1.25rem; } .menu-toggle { cursor: pointer; - line-height: 4.5em; + line-height: 4.5rem; span { display: block; @@ -127,7 +127,7 @@ } } - .navbar-menu { + .menu { text-align: center; background: $global-background-color; border-top: 2px solid $global-font-color; @@ -136,7 +136,7 @@ a { display: block; - line-height: 2.5em; + line-height: 2.5rem; } &.active { diff --git a/assets/css/_partial/_home/_summary.scss b/assets/css/_partial/_home/_summary.scss new file mode 100644 index 0000000..2a20903 --- /dev/null +++ b/assets/css/_partial/_home/_summary.scss @@ -0,0 +1,134 @@ +@mixin summary { + .summary { + padding-top: 1rem; + padding-bottom: .8rem; + color: $global-font-color; + border-bottom: 1px dashed $global-border-color; + + .dark-theme & { + color: $global-font-color-dark; + border-bottom: 1px dashed $global-border-color-dark; + } + + .featured-image-preview { + width: 100%; + padding: 30% 0 0; + position: relative; + margin: 0.6rem auto; + + img { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + object-fit: cover; + } + } + + .single-title { + font-size: 1.6rem; + } + + .meta { + font-size: .875rem !important; + a { + color: $global-font-secondary-color !important; + + .dark-theme & { + color: $global-font-secondary-color-dark !important; + } + + &:hover { + color: $global-link-hover-color !important; + + .dark-theme & { + color: $global-link-hover-color-dark !important; + } + } + } + } + + .content { + display: -moz-box; + display: -webkit-box; + -moz-box-orient: vertical; + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + margin-top: .3rem; + width: 100%; + overflow: hidden; + text-overflow: ellipsis; + overflow-wrap: break-word; + } + + h1, + h2, + h3, + h4, + h5, + h6, + p { + font-size: 1rem; + display: inline; + + &::after { + content: "\A"; + white-space: pre; + } + } + + h1, + h2, + h3, + h4, + h5, + h6 { + line-height: 2; + } + + .post-footer { + margin-top: .5rem; + display: flex; + justify-content: space-between; + align-items: center; + font-size: .875rem !important; + + a { + color: $single-link-color !important; + + .dark-theme & { + color: $single-link-color-dark !important; + } + + &:hover { + color: $single-link-hover-color !important; + + .dark-theme & { + color: $single-link-hover-color-dark !important; + } + } + } + + .post-tags { + padding: 0; + + a { + color: $global-link-color !important; + + .dark-theme & { + color: $global-link-color-dark !important; + } + + &:hover { + color: $global-link-hover-color !important; + + .dark-theme & { + color: $global-link-hover-color-dark !important; + } + } + } + } + } + } +} diff --git a/assets/css/_partial/_pagination.scss b/assets/css/_partial/_pagination.scss index 9019b34..8ab38ac 100644 --- a/assets/css/_partial/_pagination.scss +++ b/assets/css/_partial/_pagination.scss @@ -1,4 +1,4 @@ - /** pagination **/ +/** pagination **/ .pagination { display: flex; flex-direction: row; diff --git a/assets/css/_partial/_post/_admonition.scss b/assets/css/_partial/_single/_admonition.scss similarity index 100% rename from assets/css/_partial/_post/_admonition.scss rename to assets/css/_partial/_single/_admonition.scss diff --git a/assets/css/_partial/_post/_code.scss b/assets/css/_partial/_single/_code.scss similarity index 100% rename from assets/css/_partial/_post/_code.scss rename to assets/css/_partial/_single/_code.scss diff --git a/assets/css/_partial/_post/_comment.scss b/assets/css/_partial/_single/_comment.scss similarity index 56% rename from assets/css/_partial/_post/_comment.scss rename to assets/css/_partial/_single/_comment.scss index 27bcb30..21dbd9d 100644 --- a/assets/css/_partial/_post/_comment.scss +++ b/assets/css/_partial/_single/_comment.scss @@ -1,3 +1,3 @@ -.post-comment { +.comment { padding: 4rem 0; } diff --git a/assets/css/_partial/_post/_footer.scss b/assets/css/_partial/_single/_footer.scss similarity index 89% rename from assets/css/_partial/_post/_footer.scss rename to assets/css/_partial/_single/_footer.scss index 41f0c5a..cd2bdb2 100644 --- a/assets/css/_partial/_post/_footer.scss +++ b/assets/css/_partial/_single/_footer.scss @@ -34,17 +34,17 @@ .post-info-md a { font-size: 0.8em; - color: $post-link-color; + color: $single-link-color; .dark-theme & { - color: $post-link-color-dark; + color: $single-link-color-dark; } &:hover { - color: $post-link-hover-color; + color: $single-link-hover-color; .dark-theme & { - color: $post-link-hover-color-dark; + color: $single-link-hover-color-dark; } } } diff --git a/assets/css/_partial/_post/_toc.scss b/assets/css/_partial/_single/_toc.scss similarity index 89% rename from assets/css/_partial/_post/_toc.scss rename to assets/css/_partial/_single/_toc.scss index c6070e3..a39f7ed 100644 --- a/assets/css/_partial/_post/_toc.scss +++ b/assets/css/_partial/_single/_toc.scss @@ -37,10 +37,10 @@ content: "|"; font-weight: bolder; margin-right: .5rem; - color: $post-link-color; + color: $single-link-color; .dark-theme & { - color: $post-link-color-dark; + color: $single-link-color-dark; } } @@ -56,18 +56,18 @@ .toc-link.active { font-weight: bold; - color: $post-link-hover-color; + color: $single-link-hover-color; .dark-theme & { - color: $post-link-hover-color-dark; + color: $single-link-hover-color-dark; } &::before { font-weight: bolder; - color: $post-link-hover-color; + color: $single-link-hover-color; .dark-theme & { - color: $post-link-hover-color-dark; + color: $single-link-hover-color-dark; } } } diff --git a/assets/css/_variables.scss b/assets/css/_variables.scss index 2161d1e..e93928b 100644 --- a/assets/css/_variables.scss +++ b/assets/css/_variables.scss @@ -47,24 +47,24 @@ $selection-color: rgba(38, 139, 211, 0.2) !default; $selection-color-dark: rgba(38, 139, 211, 0.3) !default; // ========== Selection ========== // -// ========== Navbar ========== // -// Color of the navbar background -$navbar-background-color: #fafafa !default; -$navbar-background-color-dark: #252627 !default; +// ========== Header ========== // +// Color of the header background +$header-background-color: #fafafa !default; +$header-background-color-dark: #252627 !default; -// Color of the hover navbar item -$navbar-hover-color: #161209 !default; -$navbar-hover-color-dark: #fff !default; -// ========== Navbar ========== // +// Color of the hover header item +$header-hover-color: #161209 !default; +$header-hover-color-dark: #fff !default; +// ========== Header ========== // -// ========== Post Content ========== // -// Color of the post link -$post-link-color: #2d96bd !default; -$post-link-color-dark: #eee !default; +// ========== Single Content ========== // +// Color of the single link +$single-link-color: #2d96bd !default; +$single-link-color-dark: #eee !default; -// Color of the hover post link -$post-link-hover-color: #ef3982 !default; -$post-link-hover-color-dark: #2d96bd !default; +// Color of the hover single link +$single-link-hover-color: #ef3982 !default; +$single-link-hover-color-dark: #2d96bd !default; // Color of the table background $table-background-color: #fff !default; @@ -73,7 +73,7 @@ $table-background-color-dark: #272c34 !default; // Color of the table thead $table-thead-color: #ededed !default; $table-thead-color-dark: #20252b !default; -// ========== Post Content ========== // +// ========== Single Content ========== // // ========== Pagination ========== // // Color of the link in pagination diff --git a/assets/css/custom-style.scss b/assets/css/custom-style.scss deleted file mode 100644 index 50c2f86..0000000 --- a/assets/css/custom-style.scss +++ /dev/null @@ -1,16 +0,0 @@ -@import "_variables"; -@import "_custom"; - -@import "_core/normalize"; -@import "_core/base"; -@import "_core/layout"; - -@import "_page/index"; - -@import "_partial/navbar"; -@import "_partial/footer"; -@import "_partial/pagination"; - -@import "_core/media"; - -@import "_custom"; diff --git a/assets/css/style.scss b/assets/css/style.scss deleted file mode 100644 index 3c580d8..0000000 --- a/assets/css/style.scss +++ /dev/null @@ -1,13 +0,0 @@ -@import "_variables"; - -@import "_core/normalize"; -@import "_core/base"; -@import "_core/layout"; - -@import "_page/index"; - -@import "_partial/navbar"; -@import "_partial/footer"; -@import "_partial/pagination"; - -@import "_core/media"; diff --git a/assets/css/style.template.scss b/assets/css/style.template.scss new file mode 100644 index 0000000..e8f399f --- /dev/null +++ b/assets/css/style.template.scss @@ -0,0 +1,29 @@ +{{- if eq .Site.Params.home_mode "post" -}} + $home-profile: true; + $home-posts: true; +{{- else -}} + $home-profile: true; + $home-posts: false; +{{- end -}} + +@import "_variables"; + +{{- if fileExists "config/css/_custom.scss" -}} + @import "_custom"; +{{- end -}} + +@import "_core/normalize"; +@import "_core/base"; +@import "_core/layout"; + +@import "_page/index"; + +@import "_partial/header"; +@import "_partial/footer"; +@import "_partial/pagination"; + +@import "_core/media"; + +{{- if fileExists "config/css/_custom.scss" -}} + @import "_custom"; +{{- end -}} diff --git a/assets/js/blog.js b/assets/js/blog.js index 6f5761e..0baad5f 100644 --- a/assets/js/blog.js +++ b/assets/js/blog.js @@ -7,7 +7,7 @@ jQuery(function($) { _Blog.toggleMobileMenu = function() { $('#menu-toggle').on('click', () => { $('#menu-toggle').toggleClass('active'); - $('#mobile-menu').toggleClass('active'); + $('#menu-mobile').toggleClass('active'); }); }; @@ -102,7 +102,7 @@ jQuery(function($) { }; _Blog.responsiveTable = function() { - const tables = document.querySelectorAll('.post-content table'); + const tables = document.querySelectorAll('.content table'); for (let i = 0; i < tables.length; i++) { const table = tables[i]; const wrapper = document.createElement('div'); @@ -129,7 +129,7 @@ jQuery(function($) { for (let i = 0; i < links.length; i++) links[i].className += ' toc-link'; for (let num = 1; num <= 6; num++) { - const headers = document.querySelectorAll('.post-content>h' + num); + const headers = document.querySelectorAll('.content>h' + num); for (let i = 0; i < headers.length; i++) { const header = headers[i]; header.innerHTML = `${header.innerHTML}`; diff --git a/layouts/404.html b/layouts/404.html index a1319f0..d3440ba 100644 --- a/layouts/404.html +++ b/layouts/404.html @@ -3,7 +3,7 @@ {{- end -}} {{- define "content" -}} -
+

{{- T "pageNotFoundText" -}}  diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 9cd2b89..0333550 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -7,11 +7,17 @@ - + + + {{- block "title" . }}{{ .Site.Title }}{{ end -}} - {{- partial "head.html" . -}} + + + {{- partial "head/meta.html" . -}} + {{- partial "head/link.html" . -}} + {{- partial "head/seo.html" . -}} {{- /* Check theme isDark before body rendering */ -}} diff --git a/layouts/_default/section.html b/layouts/_default/section.html index 7eae58a..5b1bf19 100644 --- a/layouts/_default/section.html +++ b/layouts/_default/section.html @@ -5,7 +5,7 @@ {{- define "content" -}}

{{- /* Title */ -}} -

+

{{- T "all" | humanize}}{{ T .Section | default .Section | humanize -}}

diff --git a/layouts/_default/single.html b/layouts/_default/single.html index fc75ec3..4f20bc5 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -1,14 +1,14 @@ {{- define "title" }}{{ .Title }} | {{ .Site.Title }}{{ end -}} {{- define "content" -}} -
+
{{- /* Title */ -}} -

+

{{- .Title -}}

{{- /* Content */ -}} -
+
{{- partial "hook/content.html" .Content | safeHTML -}}
diff --git a/layouts/_default/summary.html b/layouts/_default/summary.html index df07d64..cc11c2d 100644 --- a/layouts/_default/summary.html +++ b/layouts/_default/summary.html @@ -1,19 +1,19 @@ -
+
{{- /* Featured image */ -}} {{- with .Params.featured_image -}} -
+ {{- end -}} {{- /* Title */ -}} -

+

{{ .Title }}

{{- /* Meta */ -}} -