@charset "UTF-8";@font-face{font-family:chancery;src:url(../fonts/chancery/apple-chancery-webfont.eot);src:local("Apple Chancery"),url(../fonts/chancery/apple-chancery-webfont.eot?#iefix)format("embedded-opentype"),url(../fonts/chancery/apple-chancery-webfont.woff2)format("woff2"),url(../fonts/chancery/apple-chancery-webfont.woff)format("woff"),url(../fonts/chancery/apple-chancery-webfont.ttf)format("truetype"),url(../fonts/chancery/apple-chancery-webfont.svg#apple-chancery)format("svg");font-weight:lighter;font-style:normal;font-display:swap}/*!normalize.css v3.0.2 | MIT License | git.io/normalize*/html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:initial}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}html{font-size:16px;box-sizing:border-box}body{padding:0;margin:0;font-family:source sans pro,helvetica neue,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;color:#0a0a0a;background:#fefefe;border-top:3px solid #c05b4d}@media screen and (max-width:900px){body{border-top:0}}::selection{background:#c05b4d;color:#fff}img{max-width:100%;height:auto;display:inline-block;vertical-align:middle}a{color:#0a0a0a;text-decoration:none}h1{font-size:48px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}h2{font-size:36px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}h3{font-size:24px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}h4{font-size:16px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}h5{font-size:14px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}h6{font-size:14px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.container{margin:0 auto;width:900px}@media screen and (max-width:900px){.container{width:100%;box-shadow:-1px -5px 5px #cacaca}}.content-wrapper{padding:0 20px}.video-container{position:relative;padding-bottom:56.25%;padding-top:25px;height:0}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%}.icon{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0}.icon--before{margin-right:.35em}.icon--after{margin-left:.35em}.icon--social{width:1em;height:1em}.icon--nav{width:.95em;height:.95em}.icon--button{width:1.5rem;height:1.5rem}.icon--heart{width:.9em;height:.9em;color:inherit}.header{padding:40px 20px 20px}.header:before,.header:after{content:" ";display:table}.header:after{clear:both}.header .logo-wrapper{float:left}.header .logo-wrapper .logo{font-size:18px;font-family:chancery,cursive,LiSu,sans-serif}@media screen and (max-width:900px){.header .logo-wrapper{display:none}}.header .site-navbar{float:right}.header .site-navbar .menu{display:inline-block;position:relative;padding-left:0;padding-right:25px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.header .site-navbar .menu .menu-item{display:inline-block;display:inline-block;vertical-align:middle;transform:translateZ(0);backface-visibility:hidden;box-shadow:0 0 1px transparent;position:relative;overflow:hidden}.header .site-navbar .menu .menu-item+.menu-item{margin-left:20px}.header .site-navbar .menu .menu-item:before{content:"";position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#c05b4d;transition-duration:.2s;transition-property:right,left;transition-timing-function:ease-out}.header .site-navbar .menu .menu-item.active:before,.header .site-navbar .menu .menu-item:active:before,.header .site-navbar .menu .menu-item:focus:before,.header .site-navbar .menu .menu-item:hover:before{right:0;left:0}.header .site-navbar .menu .menu-item-link{font-size:18px}@media screen and (max-width:900px){.header .site-navbar{display:none}}@media screen and (max-width:900px){.header{padding:50px 0 0;text-align:center}}.posts{margin-bottom:20px;border-bottom:1px solid #e6e6e6}.post{padding:1.5em 0}.post+.post{border-top:1px solid #e6e6e6}.post .post-header{margin-bottom:20px}.post .post-header .post-title{margin:0;font-size:48px;font-weight:400;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-header .post-link{display:inline-block;vertical-align:middle;transform:translateZ(0);backface-visibility:hidden;box-shadow:0 0 1px transparent;position:relative;overflow:hidden}.post .post-header .post-link:before{content:"";position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#c05b4d;transition-duration:.2s;transition-property:right,left;transition-timing-function:ease-out}.post .post-header .post-link.active:before,.post .post-header .post-link:active:before,.post .post-header .post-link:focus:before,.post .post-header .post-link:hover:before{right:0;left:0}.post .post-header .post-meta{font-size:14px;color:#8a8a8a}.post .post-header .post-meta .post-time{font-size:15px}.post .post-header .post-meta .post-category{display:inline;margin-left:.45rem}.post .post-header .post-meta .post-category a{color:inherit}.post .post-header .post-meta .post-category a::before{content:"·";margin-right:.45rem}.post .post-header .post-meta .post-category a:hover{color:#c05b4d}.post .post-header .post-meta .more-meta{margin-left:.45rem}.post .post-header .post-meta .more-meta::before{content:"·";margin-right:.45rem}.post .post-content code,.post .post-content pre{padding:7px;font-size:.9em;font-family:Consolas,Monaco,Menlo,dejavu sans mono,bitstream vera sans mono,courier new,monospace;background:#f8f5ec}.post .post-content code{padding:3px 5px;border-radius:4px;color:#c7254e}.post .post-content pre>code{display:block}.post .post-content figure.highlight{margin:1em 0;border-radius:5px;overflow-x:auto;box-shadow:1px 1px 2px rgba(0,0,0,.125);position:relative}.post .post-content figure.highlight table{position:relative}.post .post-content figure.highlight table::after{position:absolute;top:0;right:0;left:0;padding:2px 7px;font-size:.9em;font-weight:700;color:#b1b1b1;background:#f4efe1;content:"Code"}.post .post-content figure.highlight.language-bash>table::after{content:"Bash"}.post .post-content figure.highlight.language-c>table::after{content:"C"}.post .post-content figure.highlight.language-cs>table::after{content:"C#"}.post .post-content figure.highlight.language-cpp>table::after{content:"C++"}.post .post-content figure.highlight.language-css>table::after{content:"CSS"}.post .post-content figure.highlight.language-coffeescript>table::after{content:"CoffeeScript"}.post .post-content figure.highlight.language-html>table::after{content:"HTML"}.post .post-content figure.highlight.language-xml>table::after{content:"XML"}.post .post-content figure.highlight.language-http>table::after{content:"HTTP"}.post .post-content figure.highlight.language-json>table::after{content:"JSON"}.post .post-content figure.highlight.language-java>table::after{content:"Java"}.post .post-content figure.highlight.language-js>table::after{content:"JavaScript"}.post .post-content figure.highlight.language-javascript>table::after{content:"JavaScript"}.post .post-content figure.highlight.language-makefile>table::after{content:"Makefile"}.post .post-content figure.highlight.language-markdown>table::after{content:"Markdown"}.post .post-content figure.highlight.language-objectivec>table::after{content:"Objective-C"}.post .post-content figure.highlight.language-php>table::after{content:"PHP"}.post .post-content figure.highlight.language-perl>table::after{content:"Perl"}.post .post-content figure.highlight.language-python>table::after{content:"Python"}.post .post-content figure.highlight.language-ruby>table::after{content:"Ruby"}.post .post-content figure.highlight.language-sql>table::after{content:"SQL"}.post .post-content figure.highlight.language-shell>table::after{content:"Shell"}.post .post-content figure.highlight.language-erlang>table::after{content:"Erlang"}.post .post-content figure.highlight.language-go>table::after{content:"Go"}.post .post-content figure.highlight.language-go-html-template>table::after{content:"Go HTML Template"}.post .post-content figure.highlight.language-groovy>table::after{content:"Groovy"}.post .post-content figure.highlight.language-haskell>table::after{content:"Haskell"}.post .post-content figure.highlight.language-kotlin>table::after{content:"Kotlin"}.post .post-content figure.highlight.language-clojure>table::after{content:"Clojure"}.post .post-content figure.highlight.language-less>table::after{content:"Less"}.post .post-content figure.highlight.language-lisp>table::after{content:"Lisp"}.post .post-content figure.highlight.language-lua>table::after{content:"Lua"}.post .post-content figure.highlight.language-matlab>table::after{content:"Matlab"}.post .post-content figure.highlight.language-rust>table::after{content:"Rust"}.post .post-content figure.highlight.language-scss>table::after{content:"Scss"}.post .post-content figure.highlight.language-scala>table::after{content:"Scala"}.post .post-content figure.highlight.language-swift>table::after{content:"Swift"}.post .post-content figure.highlight.language-typescript>table::after{content:"TypeScript"}.post .post-content figure.highlight.language-yml>table::after{content:"YAML"}.post .post-content figure.highlight.language-yaml>table::after{content:"YAML"}.post .post-content figure.highlight.language-toml>table::after{content:"TOML"}.post .post-content figure.highlight.language-diff>table::after{content:"Diff"}.post .post-content figure.highlight .code pre{margin:0;padding:30px 10px 10px}.post .post-content figure.highlight .gutter{width:10px;color:#cacaca}.post .post-content figure.highlight .gutter pre{margin:0;padding:30px 7px 10px}.post .post-content figure.highlight .line{height:1em}.post .post-content figure.highlight table,.post .post-content figure.highlight tr,.post .post-content figure.highlight td{margin:0;padding:0;width:100%;border-collapse:collapse}.post .post-content figure.highlight .code .hljs-comment,.post .post-content figure.highlight .code .hljs-quote{color:#93a1a1}.post .post-content figure.highlight .code .hljs-keyword,.post .post-content figure.highlight .code .hljs-selector-tag,.post .post-content figure.highlight .code .hljs-addition{color:#859900}.post .post-content figure.highlight .code .hljs-number,.post .post-content figure.highlight .code .hljs-string,.post .post-content figure.highlight .code .hljs-meta .hljs-meta-string,.post .post-content figure.highlight .code .hljs-literal,.post .post-content figure.highlight .code .hljs-doctag,.post .post-content figure.highlight .code .hljs-regexp{color:#2aa198}.post .post-content figure.highlight .code .hljs-title,.post .post-content figure.highlight .code .hljs-section,.post .post-content figure.highlight .code .hljs-name,.post .post-content figure.highlight .code .hljs-selector-id,.post .post-content figure.highlight .code .hljs-selector-class{color:#268bd2}.post .post-content figure.highlight .code .hljs-attribute,.post .post-content figure.highlight .code .hljs-attr,.post .post-content figure.highlight .code .hljs-variable,.post .post-content figure.highlight .code .hljs-template-variable,.post .post-content figure.highlight .code .hljs-class .hljs-title,.post .post-content figure.highlight .code .hljs-type{color:#b58900}.post .post-content figure.highlight .code .hljs-symbol,.post .post-content figure.highlight .code .hljs-bullet,.post .post-content figure.highlight .code .hljs-subst,.post .post-content figure.highlight .code .hljs-meta,.post .post-content figure.highlight .code .hljs-meta .hljs-keyword,.post .post-content figure.highlight .code .hljs-selector-attr,.post .post-content figure.highlight .code .hljs-selector-pseudo,.post .post-content figure.highlight .code .hljs-link{color:#cb4b16}.post .post-content figure.highlight .code .hljs-built_in,.post .post-content figure.highlight .code .hljs-deletion{color:#dc322f}.post .post-content figure.highlight .code .hljs-formula{background:#eee8d5}.post .post-content figure.highlight .code .hljs-emphasis{font-style:italic}.post .post-content figure.highlight .code .hljs-strong{font-weight:700}.post .post-content .highlight>.chroma{margin:1em 0;border-radius:5px;overflow-x:auto;box-shadow:1px 1px 2px rgba(0,0,0,.125);position:relative;background:#f8f5ec}.post .post-content .highlight>.chroma code{padding:0}.post .post-content .highlight>.chroma table{position:relative}.post .post-content .highlight>.chroma table::after{position:absolute;top:0;right:0;left:0;padding:2px 7px;font-size:.9em;font-weight:700;color:#b1b1b1;background:#f4efe1;content:"Code"}.post .post-content .highlight>.chroma.language-bash>table::after{content:"Bash"}.post .post-content .highlight>.chroma.language-c>table::after{content:"C"}.post .post-content .highlight>.chroma.language-cs>table::after{content:"C#"}.post .post-content .highlight>.chroma.language-cpp>table::after{content:"C++"}.post .post-content .highlight>.chroma.language-css>table::after{content:"CSS"}.post .post-content .highlight>.chroma.language-coffeescript>table::after{content:"CoffeeScript"}.post .post-content .highlight>.chroma.language-html>table::after{content:"HTML"}.post .post-content .highlight>.chroma.language-xml>table::after{content:"XML"}.post .post-content .highlight>.chroma.language-http>table::after{content:"HTTP"}.post .post-content .highlight>.chroma.language-json>table::after{content:"JSON"}.post .post-content .highlight>.chroma.language-java>table::after{content:"Java"}.post .post-content .highlight>.chroma.language-js>table::after{content:"JavaScript"}.post .post-content .highlight>.chroma.language-javascript>table::after{content:"JavaScript"}.post .post-content .highlight>.chroma.language-makefile>table::after{content:"Makefile"}.post .post-content .highlight>.chroma.language-markdown>table::after{content:"Markdown"}.post .post-content .highlight>.chroma.language-objectivec>table::after{content:"Objective-C"}.post .post-content .highlight>.chroma.language-php>table::after{content:"PHP"}.post .post-content .highlight>.chroma.language-perl>table::after{content:"Perl"}.post .post-content .highlight>.chroma.language-python>table::after{content:"Python"}.post .post-content .highlight>.chroma.language-ruby>table::after{content:"Ruby"}.post .post-content .highlight>.chroma.language-sql>table::after{content:"SQL"}.post .post-content .highlight>.chroma.language-shell>table::after{content:"Shell"}.post .post-content .highlight>.chroma.language-erlang>table::after{content:"Erlang"}.post .post-content .highlight>.chroma.language-go>table::after{content:"Go"}.post .post-content .highlight>.chroma.language-go-html-template>table::after{content:"Go HTML Template"}.post .post-content .highlight>.chroma.language-groovy>table::after{content:"Groovy"}.post .post-content .highlight>.chroma.language-haskell>table::after{content:"Haskell"}.post .post-content .highlight>.chroma.language-kotlin>table::after{content:"Kotlin"}.post .post-content .highlight>.chroma.language-clojure>table::after{content:"Clojure"}.post .post-content .highlight>.chroma.language-less>table::after{content:"Less"}.post .post-content .highlight>.chroma.language-lisp>table::after{content:"Lisp"}.post .post-content .highlight>.chroma.language-lua>table::after{content:"Lua"}.post .post-content .highlight>.chroma.language-matlab>table::after{content:"Matlab"}.post .post-content .highlight>.chroma.language-rust>table::after{content:"Rust"}.post .post-content .highlight>.chroma.language-scss>table::after{content:"Scss"}.post .post-content .highlight>.chroma.language-scala>table::after{content:"Scala"}.post .post-content .highlight>.chroma.language-swift>table::after{content:"Swift"}.post .post-content .highlight>.chroma.language-typescript>table::after{content:"TypeScript"}.post .post-content .highlight>.chroma.language-yml>table::after{content:"YAML"}.post .post-content .highlight>.chroma.language-yaml>table::after{content:"YAML"}.post .post-content .highlight>.chroma.language-toml>table::after{content:"TOML"}.post .post-content .highlight>.chroma.language-diff>table::after{content:"Diff"}.post .post-content .highlight>.chroma .lntd{line-height:1em}.post .post-content .highlight>.chroma .lntd:first-child{width:10px}.post .post-content .highlight>.chroma .lntd:first-child pre{margin:0;padding:30px 7px 10px}.post .post-content .highlight>.chroma .lntd:last-child{vertical-align:top}.post .post-content .highlight>.chroma .lntd:last-child pre{margin:0;padding:30px 10px 10px}.post .post-content .highlight>.chroma table,.post .post-content .highlight>.chroma tr,.post .post-content .highlight>.chroma td{margin:0;padding:0;width:100%;border-collapse:collapse}.post .post-content .highlight>.chroma .lnt{color:#cacaca}.post .post-content .highlight>.chroma .hl{display:block;width:100%;background-color:#ffc}.post .post-content .highlight>.chroma .k{color:#859900}.post .post-content .highlight>.chroma .kc{color:#859900;font-weight:700}.post .post-content .highlight>.chroma .kd{color:#859900}.post .post-content .highlight>.chroma .kn{color:#dc322f;font-weight:700}.post .post-content .highlight>.chroma .kp{color:#859900}.post .post-content .highlight>.chroma .kr{color:#859900}.post .post-content .highlight>.chroma .kt{color:#859900;font-weight:700}.post .post-content .highlight>.chroma .n{color:#268bd2}.post .post-content .highlight>.chroma .na{color:#268bd2}.post .post-content .highlight>.chroma .nb{color:#cb4b16}.post .post-content .highlight>.chroma .bp{color:#268bd2}.post .post-content .highlight>.chroma .nc{color:#cb4b16}.post .post-content .highlight>.chroma .no{color:#268bd2}.post .post-content .highlight>.chroma .nd{color:#268bd2}.post .post-content .highlight>.chroma .ni{color:#268bd2}.post .post-content .highlight>.chroma .ne{color:#268bd2}.post .post-content .highlight>.chroma .nf{color:#268bd2}.post .post-content .highlight>.chroma .fm{color:#268bd2}.post .post-content .highlight>.chroma .nl{color:#268bd2}.post .post-content .highlight>.chroma .nn{color:#268bd2}.post .post-content .highlight>.chroma .nx{color:#268bd2}.post .post-content .highlight>.chroma .py{color:#268bd2}.post .post-content .highlight>.chroma .nt{color:#268bd2;font-weight:700}.post .post-content .highlight>.chroma .nv{color:#268bd2}.post .post-content .highlight>.chroma .vc{color:#268bd2}.post .post-content .highlight>.chroma .vg{color:#268bd2}.post .post-content .highlight>.chroma .vi{color:#268bd2}.post .post-content .highlight>.chroma .vm{color:#268bd2}.post .post-content .highlight>.chroma .l{color:#2aa198}.post .post-content .highlight>.chroma .ld{color:#2aa198}.post .post-content .highlight>.chroma .s{color:#2aa198}.post .post-content .highlight>.chroma .sa{color:#2aa198}.post .post-content .highlight>.chroma .sb{color:#2aa198}.post .post-content .highlight>.chroma .sc{color:#2aa198}.post .post-content .highlight>.chroma .dl{color:#2aa198}.post .post-content .highlight>.chroma .sd{color:#2aa198}.post .post-content .highlight>.chroma .s2{color:#2aa198}.post .post-content .highlight>.chroma .se{color:#2aa198}.post .post-content .highlight>.chroma .sh{color:#2aa198}.post .post-content .highlight>.chroma .si{color:#2aa198}.post .post-content .highlight>.chroma .sx{color:#2aa198}.post .post-content .highlight>.chroma .sr{color:#2aa198}.post .post-content .highlight>.chroma .s1{color:#2aa198}.post .post-content .highlight>.chroma .ss{color:#2aa198}.post .post-content .highlight>.chroma .m{color:#2aa198;font-weight:700}.post .post-content .highlight>.chroma .mb{color:#2aa198;font-weight:700}.post .post-content .highlight>.chroma .mf{color:#2aa198;font-weight:700}.post .post-content .highlight>.chroma .mh{color:#2aa198;font-weight:700}.post .post-content .highlight>.chroma .mi{color:#2aa198;font-weight:700}.post .post-content .highlight>.chroma .il{color:#2aa198;font-weight:700}.post .post-content .highlight>.chroma .mo{color:#2aa198;font-weight:700}.post .post-content .highlight>.chroma .ow{color:#859900}.post .post-content .highlight>.chroma .c{color:#93a1a1;font-style:italic}.post .post-content .highlight>.chroma .ch{color:#93a1a1;font-style:italic}.post .post-content .highlight>.chroma .cm{color:#93a1a1;font-style:italic}.post .post-content .highlight>.chroma .c1{color:#93a1a1;font-style:italic}.post .post-content .highlight>.chroma .cs{color:#93a1a1;font-style:italic}.post .post-content .highlight>.chroma .cp{color:#93a1a1;font-style:italic}.post .post-content .highlight>.chroma .cpf{color:#93a1a1;font-style:italic}.post .post-content .highlight>.chroma .g{color:#d33682}.post .post-content .highlight>.chroma .gd{color:#b58900}.post .post-content .highlight>.chroma .ge{color:#d33682}.post .post-content .highlight>.chroma .gr{color:#d33682}.post .post-content .highlight>.chroma .gh{color:#d33682}.post .post-content .highlight>.chroma .gi{color:#859900}.post .post-content .highlight>.chroma .go{color:#d33682}.post .post-content .highlight>.chroma .gp{color:#d33682}.post .post-content .highlight>.chroma .gs{color:#d33682}.post .post-content .highlight>.chroma .gu{color:#d33682}.post .post-content .highlight>.chroma .gt{color:#d33682}.post .post-content .admonition{box-shadow:0 2px 2px rgba(0,0,0,.14),0 1px 5px rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);position:relative;margin:.9765em 0;padding:0 .75rem;border-left:.25rem solid #448aff;border-radius:.125rem;overflow:auto}.post .post-content .admonition .admonition-title{align-items:center;display:flex;gap:.65rem;margin:0 -.75rem;padding:.5rem .75rem .5rem 2.5rem;border-bottom:.1rem solid rgba(68,138,255,.1);background-color:rgba(68,138,255,.1);font-weight:700}.post .post-content .admonition .admonition-title__icon{cursor:auto;position:absolute;left:.75rem;top:.65rem;width:1.1rem;height:1.1rem}.post .post-content .admonition .admonition-title__label{flex:1}.post .post-content .admonition.note{border-left-color:#448aff}.post .post-content .admonition.note .admonition-title__icon{color:#448aff}.post .post-content .admonition.abstract{border-left-color:#00b0ff}.post .post-content .admonition.abstract .admonition-title{background-color:rgba(0,176,255,.1)}.post .post-content .admonition.abstract .admonition-title__icon{color:#00b0ff}.post .post-content .admonition.info{border-left-color:#00b8d4}.post .post-content .admonition.info .admonition-title{background-color:rgba(0,184,212,.1)}.post .post-content .admonition.info .admonition-title__icon{color:#00b8d4}.post .post-content .admonition.tip{border-left-color:#00bfa5}.post .post-content .admonition.tip .admonition-title{background-color:rgba(0,191,165,.1)}.post .post-content .admonition.tip .admonition-title__icon{color:#00bfa5}.post .post-content .admonition.success{border-left-color:#00c853}.post .post-content .admonition.success .admonition-title{background-color:rgba(0,200,83,.1)}.post .post-content .admonition.success .admonition-title__icon{color:#00c853}.post .post-content .admonition.question{border-left-color:#64dd17}.post .post-content .admonition.question .admonition-title{background-color:rgba(100,221,23,.1)}.post .post-content .admonition.question .admonition-title__icon{color:#64dd17}.post .post-content .admonition.warning{border-left-color:#ff9100}.post .post-content .admonition.warning .admonition-title{background-color:rgba(255,145,0,.1)}.post .post-content .admonition.warning .admonition-title__icon{color:#ff9100}.post .post-content .admonition.failure{border-left-color:#ff5252}.post .post-content .admonition.failure .admonition-title{background-color:rgba(255,82,82,.1)}.post .post-content .admonition.failure .admonition-title__icon{color:#ff5252}.post .post-content .admonition.danger{border-left-color:#ff1744}.post .post-content .admonition.danger .admonition-title{background-color:rgba(255,23,68,.1)}.post .post-content .admonition.danger .admonition-title__icon{color:#ff1744}.post .post-content .admonition.bug{border-left-color:#f50057}.post .post-content .admonition.bug .admonition-title{background-color:rgba(245,0,87,.1)}.post .post-content .admonition.bug .admonition-title__icon{color:#f50057}.post .post-content .admonition.example{border-left-color:#651fff}.post .post-content .admonition.example .admonition-title{background-color:rgba(101,31,255,.1)}.post .post-content .admonition.example .admonition-title__icon{color:#651fff}.post .post-content .admonition.quote{border-left-color:#9e9e9e}.post .post-content .admonition.quote .admonition-title{background-color:rgba(158,158,158,.1)}.post .post-content .admonition.quote .admonition-title__icon{color:#9e9e9e}.post .post-content .admonition:last-child{margin-bottom:.75rem}.post .post-content details.admonition summary{display:block;outline:none;cursor:pointer}.post .post-content details.admonition summary::-webkit-details-marker{display:none}.post .post-content details.admonition summary .admonition-toggle-icon{color:rgba(0,0,0,.26);margin-left:auto;transition:transform .2s ease;width:1rem;height:1rem}.post .post-content details.admonition[open]>summary .admonition-toggle-icon{transform:rotate(180deg)}.post .post-content{word-wrap:break-word}.post .post-content h1{font-weight:400;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content h1 .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.post .post-content h1 .anchor:hover{border-bottom:initial}.post .post-content h1 .anchor .icon-link{visibility:hidden;font-size:16px;display:contents}.post .post-content h1 .anchor .icon-link:before{vertical-align:middle}.post .post-content h1:hover .icon-link{visibility:visible}.post .post-content h2{font-weight:400;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content h2 .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.post .post-content h2 .anchor:hover{border-bottom:initial}.post .post-content h2 .anchor .icon-link{visibility:hidden;font-size:16px;display:contents}.post .post-content h2 .anchor .icon-link:before{vertical-align:middle}.post .post-content h2:hover .icon-link{visibility:visible}.post .post-content h3{font-weight:400;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content h3 .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.post .post-content h3 .anchor:hover{border-bottom:initial}.post .post-content h3 .anchor .icon-link{visibility:hidden;font-size:16px;display:contents}.post .post-content h3 .anchor .icon-link:before{vertical-align:middle}.post .post-content h3:hover .icon-link{visibility:visible}.post .post-content h4{font-weight:400;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content h4 .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.post .post-content h4 .anchor:hover{border-bottom:initial}.post .post-content h4 .anchor .icon-link{visibility:hidden;font-size:16px;display:contents}.post .post-content h4 .anchor .icon-link:before{vertical-align:middle}.post .post-content h4:hover .icon-link{visibility:visible}.post .post-content h5{font-weight:400;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content h5 .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.post .post-content h5 .anchor:hover{border-bottom:initial}.post .post-content h5 .anchor .icon-link{visibility:hidden;font-size:16px;display:contents}.post .post-content h5 .anchor .icon-link:before{vertical-align:middle}.post .post-content h5:hover .icon-link{visibility:visible}.post .post-content h6{font-weight:400;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content h6 .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.post .post-content h6 .anchor:hover{border-bottom:initial}.post .post-content h6 .anchor .icon-link{visibility:hidden;font-size:16px;display:contents}.post .post-content h6 .anchor .icon-link:before{vertical-align:middle}.post .post-content h6:hover .icon-link{visibility:visible}.post .post-content a{color:#c05b4d;overflow-wrap:anywhere}.post .post-content a:hover{border-bottom:1px solid #c05b4d}.post .post-content a.lightbox-link{border:0}.post .post-content blockquote{margin:2em 0;padding:10px 20px;position:relative;color:rgba(52,73,94,.8);background-color:rgba(192,91,77,5%);border-left:3px solid rgba(192,91,77,.3);box-shadow:1px 1px 2px rgba(0,0,0,.125)}.post .post-content blockquote p{margin:0}.post .post-content img{display:inline-block;max-width:100%}.post .post-content .table-wrapper{overflow-x:auto}.post .post-content .table-wrapper>table{max-width:100%;margin:10px 0;border-spacing:0;box-shadow:2px 2px 3px rgba(0,0,0,.125)}.post .post-content .table-wrapper>table thead{background:#f8f5ec}.post .post-content .table-wrapper>table th,.post .post-content .table-wrapper>table td{padding:5px 15px;border:1px double #f4efe1}.post .post-content .table-wrapper>table tr:hover{background-color:#f8f5ec}.post .post-content .post-summary{margin-bottom:1em}.post .post-content .read-more .read-more-link{color:#c05b4d;font-size:1.1em;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-content .read-more .read-more-link:hover{border-bottom:1px solid #c05b4d}.post .post-content kbd{display:inline-block;padding:.25em;background-color:#fafafa;border:1px solid #dbdbdb;border-bottom-color:#b5b5b5;border-radius:3px;box-shadow:inset 0 -1px #b5b5b5;font-size:.8em;line-height:1.25;font-family:sfmono-regular,liberation mono,roboto mono,Menlo,Monaco,Consolas,courier new,Courier,monospace;color:#4a4a4a}.post .post-content dl dt::after{content:":"}.post .post-content figure.center{text-align:center}.post .post-content figure.right{text-align:right}.post .post-content figure.left{text-align:left}.post .post-content figure figcaption h4{color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;margin:0}.post .post-content hr{margin:1rem 0;position:relative;border-top:2px dashed #c05b4d;border-bottom:none}.post .post-content .footnote-ref>a{font-weight:700;margin-left:3px}.post .post-content .footnote-ref>a:before{content:"["}.post .post-content .footnote-ref>a:after{content:"]"}.post .post-content .task-list{list-style:none;padding-left:1.5rem}.post .post-copyright{margin-top:20px;padding-top:10px;border-top:1px dashed #e6e6e6}.post .post-copyright .copyright-item{margin:5px 0}.post .post-copyright .copyright-item a{color:#c05b4d;word-wrap:break-word}.post .post-copyright .copyright-item a:hover{border-bottom:1px solid #c05b4d}.post .post-copyright .copyright-item .item-title{display:inline-block;min-width:5rem;margin-right:.5rem;text-align:right}.post .post-copyright .copyright-item .item-title:after{content:" :"}.post .post-footer{margin-top:20px;border-top:1px solid #e6e6e6;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.post .post-footer .post-tags{padding:15px 0}.post .post-footer .post-tags a{margin-right:5px;color:#c05b4d;word-break:break-all}.post .post-footer .post-tags a::before{content:"#"}.post .post-footer .post-nav{margin:1em 0}.post .post-footer .post-nav:before,.post .post-footer .post-nav:after{content:" ";display:table}.post .post-footer .post-nav:after{clear:both}.post .post-footer .post-nav .prev,.post .post-footer .post-nav .next{font-weight:600;font-size:18px;font-family:Athelas,STHeiti,Microsoft Yahei,serif;transition-property:transform;transition-timing-function:ease-out;transition-duration:.3s}.post .post-footer .post-nav .prev{float:left}.post .post-footer .post-nav .prev:hover{color:#c05b4d;transform:translateX(-4px)}.post .post-footer .post-nav .next{float:right}.post .post-footer .post-nav .next:hover{color:#c05b4d;transform:translateX(4px)}.post .post-footer .post-nav .nav-mobile{display:none}@media screen and (max-width:900px){.post .post-footer .post-nav .nav-default{display:none}.post .post-footer .post-nav .nav-mobile{display:inline}}.post table{width:100%}.pagination{margin:2em 0}.pagination:before,.pagination:after{content:" ";display:table}.pagination:after{clear:both}.pagination .prev,.pagination .next{font-weight:600;font-size:20px;font-family:Athelas,STHeiti,Microsoft Yahei,serif;transition-property:transform;transition-timing-function:ease-out;transition-duration:.3s}.pagination .prev{float:left}.pagination .prev:hover{color:#c05b4d;transform:translateX(-4px)}.pagination .next{float:right}.pagination .next:hover{color:#c05b4d;transform:translateX(4px)}.footer{margin-top:2em}.footer .social-links{text-align:center}.footer .social-links .social-link{display:inline-flex;align-items:center;justify-content:center;font-size:30px}.footer .social-links .social-link+.social-link{margin-left:10px}.footer .social-links .social-link:hover,.footer .social-links .social-link:focus-visible{color:#c05b4d}.footer .social-links .social-link:focus-visible{outline:2px solid #c05b4d;outline-offset:4px}.footer .copyright{margin:10px 0;color:#8a8a8a;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.footer .copyright .hexo-link,.footer .copyright .theme-link{color:#c05b4d}.footer .copyright .copyright-year{display:block}.footer .copyright .copyright-year .heart{display:inline-block;font-size:14px;line-height:1;margin:0 4px;vertical-align:-.08em}.archive{margin:2em 0;max-width:1200px}.archive .archive-title{font-family:Athelas,STHeiti,Microsoft Yahei,serif}.archive .archive-title.tag,.archive .archive-title.category{margin:15px 0}.archive .archive-title .archive-name{margin:0;display:inline-block;font-weight:400;font-size:30px;line-height:32px}.archive .archive-title .archive-post-counter{color:#8a8a8a}.archive .collection-title{font-family:Athelas,STHeiti,Microsoft Yahei,serif}.archive .collection-title .archive-year{margin:15px 0;font-weight:400;font-size:28px;line-height:30px}.archive .archive-post{padding:3px 20px;border-left:1px solid #cacaca;box-shadow:inset 0 0 transparent;transition:border-left-color .2s ease-out,box-shadow .2s ease-out,color .2s ease-out}.archive .archive-post .archive-post-time{margin-right:10px;color:#8a8a8a}.archive .archive-post .archive-post-title .archive-post-link{color:#c05b4d}.archive .archive-post::first-child{margin-top:10px}.archive .archive-post:hover{border-left-color:#c05b4d;box-shadow:inset 2px 0 #c05b4d}.archive .archive-post:hover .archive-post-time{color:#717171}.archive .archive-post:hover .archive-post-title .archive-post-link{color:#a14639}@media screen and (max-width:900px){.archive{margin-left:auto;margin-right:auto}.archive .archive-title .archive-name{font-size:26px}.archive .collection-title .archive-year{margin:10px 0;font-size:24px}.archive .archive-post{padding:5px 10px}.archive .archive-post .archive-post-time{font-size:13px;display:block}}.terms{margin:2em 0 3em;text-align:center;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.terms .terms-title{display:inline-block;font-size:18px;color:#c05b4d;border-bottom:2px solid #c05b4d}.terms .terms-tags{margin:10px 0}.terms .terms-tags .terms-link{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;transition-duration:.2s;transition-property:transform;transition-timing-function:ease-out}.terms .terms-tags .terms-link .terms-count{display:inline-block;position:relative;top:-8px;right:-2px;color:#c05b4d;font-size:12px}.terms .terms-tags .terms-link:active,.terms .terms-tags .terms-link:focus,.terms .terms-tags .terms-link:hover{color:#c05b4d;transform:scale(1.1)}#mobile-panel{position:relative;z-index:1;background-color:#fefefe;min-height:100vh;transition:transform 300ms ease}.mobile-navbar{display:none;position:fixed;top:0;left:0;width:100%;height:50px;background:#fefefe;box-shadow:0 2px 2px #cacaca;text-align:center;transition:transform 300ms ease;z-index:99}.mobile-navbar.fixed-open{transform:translate3d(180px,0,0)}.mobile-navbar .mobile-header-logo{display:inline-block;margin-right:50px}.mobile-navbar .mobile-header-logo .logo{font-size:22px;line-height:50px;font-family:chancery,cursive,LiSu,sans-serif}.mobile-navbar .mobile-navbar-icon{color:#c05b4d;height:50px;width:50px;font-size:24px;text-align:center;float:left;position:relative;transition:background .5s;appearance:none;background:0 0;border:0;cursor:pointer;padding:0}@keyframes clickfirst{0%{transform:translateY(6px)rotate(0)}100%{transform:translateY(0)rotate(45deg)}}@keyframes clickmid{0%{opacity:1}100%{opacity:0}}@keyframes clicklast{0%{transform:translateY(-6px)rotate(0)}100%{transform:translateY(0)rotate(-45deg)}}@keyframes outfirst{0%{transform:translateY(0)rotate(-45deg)}100%{transform:translateY(-6px)rotate(0)}}@keyframes outmid{0%{opacity:0}100%{opacity:1}}@keyframes outlast{0%{transform:translateY(0)rotate(45deg)}100%{transform:translateY(6px)rotate(0)}}.mobile-navbar .mobile-navbar-icon span{position:absolute;left:15px;top:25px;left:calc((100% - 20px)/2);top:calc((100% - 1px)/2);width:20px;height:1px;background-color:#c05b4d}.mobile-navbar .mobile-navbar-icon span:nth-child(1){transform:translateY(6px)rotate(0)}.mobile-navbar .mobile-navbar-icon span:nth-child(3){transform:translateY(-6px)rotate(0)}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(1){animation-duration:.5s;animation-fill-mode:both;animation-name:clickfirst}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(2){animation-duration:.2s;animation-fill-mode:both;animation-name:clickmid}.mobile-navbar .mobile-navbar-icon.icon-click span:nth-child(3){animation-duration:.5s;animation-fill-mode:both;animation-name:clicklast}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(1){animation-duration:.5s;animation-fill-mode:both;animation-name:outfirst}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(2){animation-duration:.2s;animation-fill-mode:both;animation-name:outmid}.mobile-navbar .mobile-navbar-icon.icon-out span:nth-child(3){animation-duration:.5s;animation-fill-mode:both;animation-name:outlast}.mobile-navbar .mobile-navbar-icon:focus-visible{outline:2px solid #c05b4d;outline-offset:-4px}.mobile-menu{position:fixed;top:0;left:0;bottom:0;width:180px;min-height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch;background-color:rgba(248,245,236,.5);transform:translateX(-100%);transition:transform 300ms ease;z-index:98}.mobile-menu .mobile-menu-list{position:relative;list-style:none;margin-top:50px;padding:0;border-top:1px solid #f8f5ec}.mobile-menu .mobile-menu-list .mobile-menu-item{border-bottom:1px solid #f8f5ec}.mobile-menu .mobile-menu-list .mobile-menu-link{display:block;padding:10px 30px;font-size:18px;font-family:Athelas,STHeiti,Microsoft Yahei,serif}.mobile-menu .mobile-menu-list .mobile-menu-link:hover,.mobile-menu .mobile-menu-list .mobile-menu-link:focus-visible{color:#c05b4d}@media screen and (max-width:900px){.mobile-navbar{display:block}body.mobile-menu-open{overflow:hidden}body.mobile-menu-open #mobile-panel{transform:translate3d(180px,0,0)}body.mobile-menu-open .mobile-menu{transform:translateX(0)}}.back-to-top{opacity:0;pointer-events:none;position:fixed;right:20px;bottom:20px;visibility:hidden;transition-property:transform;transition-timing-function:ease-out;transition-duration:.3s;z-index:10;appearance:none;background:0 0;border:0;color:inherit;cursor:pointer;padding:0}.back-to-top:hover{transform:translateY(-5px)}.back-to-top:focus-visible{outline:2px solid #c05b4d;outline-offset:4px}.back-to-top.is-visible{opacity:1;pointer-events:auto;visibility:visible}@media screen and (max-width:900px){.back-to-top{display:none!important}}.not-found{text-align:center}.not-found .error-emoji{color:#363636;font-size:3rem}.not-found .error-text{color:#797979;font-size:1.25rem}.not-found .error-link{margin-top:2rem}.not-found .error-link a{color:#c05b4d}.post-content img[src*="#center"]{display:block;margin:auto}header .site-navbar ul{margin-block-start:0;margin-block-end:0}header .logo-wrapper img{height:30px;margin-right:.5em;border-radius:50%;border:1px solid #d9d9d9;padding:1px}@media screen and (max-width:900px){.homepage-introduction{padding-top:1.5rem}}.homepage-introduction-heading{font-family:source sans pro,helvetica neue,Arial,sans-serif;font-size:16px;margin-block-end:.25rem;margin-block-start:0}.homepage-introduction a{color:#c05b4d}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pswp__custom-caption{background:rgba(10,10,10,.72);border-radius:10px;bottom:16px;color:#fefefe;font-size:.95rem;left:50%;line-height:1.45;padding:10px 14px;position:absolute;text-align:center;transform:translateX(-50%);width:calc(100% - 24px);max-width:720px}.pswp__custom-caption.is-empty{display:none}.post .post-header .post-title{line-height:54px}.post .post-content h2{font-weight:600;border-bottom:1px solid rgba(10,10,10,.8);margin-block-start:1em;margin-block-end:0}.post .post-content h3{font-weight:600;margin-block-start:1em;margin-block-end:0}.post-content li{margin-block-end:.5em;writing-mode:horizontal-tb}.post-content li p{margin-block-start:0;margin-block-end:0}.post-content figure{margin:0}.post-content figure img{border-radius:4px}.post-content .image-grid-2{display:grid;grid-template-columns:1fr;gap:1rem;margin:1em 0}.post-content .image-grid-2 figure{margin:0}.post-content .image-grid-2 img{display:block;width:100%;height:auto}@media(min-width:769px){.post-content .image-grid-2{grid-template-columns:1fr 1fr}}.post-content .compare-columns{display:flex;gap:1rem;margin:1em 0}.post-content .compare-column{flex:1;padding:.75rem 1rem;border:1px solid #e6e6e6;border-radius:6px;background:#fefefe}.post-content .compare-title{font-weight:600;margin-bottom:.5rem}.post-content .compare-column ul{margin:0;padding-left:1.2em}@media screen and (max-width:768px){.post-content .compare-columns{flex-direction:column}}.featured-posts{margin-top:2em}.featured-posts{max-width:1200px;margin:2em auto 0}.featured-posts .collection-title .archive-year{margin:0 0 10px;font-weight:400;font-size:28px;line-height:28px}.featured-posts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:0}.featured-card{background:#fefefe;border-radius:6px;box-shadow:0 2px 2px rgba(10,10,10,.1);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.featured-card:hover{box-shadow:0 2px 4px rgba(10,10,10,.15)}.featured-card-link{display:block;text-decoration:none;color:inherit}.featured-card-image{width:100%;aspect-ratio:1.6;object-fit:cover;object-position:center;display:block}.featured-card-title{margin:0;padding:8px;font-size:1rem;font-weight:400}@media(max-width:600px){.featured-posts-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}.post-content{}.post-content figure.image-float-right,.post-content img.image-float-right{width:100%;float:none;margin:1em 0}.post-content figure.image-float-right img,.post-content img.image-float-right{display:block;height:auto}.post-content figure.image-float-right img{width:100%}.post-content figure figcaption{margin-top:5px;font-size:.9em;line-height:1.3;color:#717171;text-align:center}@media(min-width:769px){.post-content figure.image-float-right,.post-content img.image-float-right{width:280px;float:right;margin-left:1em;margin-bottom:1em}}