/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace,monospace;font-size:1em;}a{background-color:rgba(0,0,0,0);-webkit-text-decoration-skip:objects;}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em;}dfn{font-style:italic}mark{background-color:#304a3d !important;color:#c9d2dc}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button;}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{display:inline-block;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-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{font-size:16px;box-sizing:border-box}body{line-height:1.5;color:#34495e;background:#fefefe;border-top:3px solid #c41230;overflow-y:scroll}.container{width:800px;margin:0 auto;padding-bottom:4rem}@media screen and (max-width: 800px){body{border-top:0}.container{width:100%;box-shadow:-1px -5px 5px #cacaca}}a{color:#c41230;text-decoration:none}img{max-width:100%;height:auto;display:inline-block;vertical-align:middle}pre{display:block;padding:1rem}pre,code{font-size:90%;overflow:auto;font-family:Consolas,Monaco,Menlo,Consolas,monospace;margin-bottom:0;color:#c9d2dc}pre>code{display:block;border:none;font-style:normal;font-size:1rem}iframe{border:0}#header{padding:20px 5px 5px}#header .logo{border-bottom:solid 2px #c41230;display:flex;justify-content:space-between}#header .logo img{width:350px}#header .logo .logo-text{font-family:"PT Sans",Helvetica,Arial,sans-serif;font-weight:400}#header .logo .logo-text a{color:#34495e;font-size:32px}#header .menu{padding-left:0;align-self:flex-start;font-family:Athelas,STHeiti,Microsoft Yahei,serif}#header .menu ul{display:inline-block;margin-top:0;padding-left:0}#header .menu ul li{display:inline-block;margin-right:5px;display:inline-block;vertical-align:middle;transform:translateZ(0);backface-visibility:hidden;box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden}#header .menu ul li:before{content:"";position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#c41230;transition-duration:.2s;transition-property:right,left;transition-timing-function:ease-out}#header .menu ul li.active:before,#header .menu ul li:active:before,#header .menu ul li:focus:before,#header .menu ul li:hover:before{right:0;left:0}#header .menu ul li a{color:#34495e;font-size:22px}@media screen and (max-width: 800px){#header{padding:50px 0 0;text-align:center}#header .logo,#header .menu{display:none}}main{clear:both}main .content{padding:0 20px}main .posts{margin-bottom:20px;border-bottom:1px solid #e6e6e6}main .read-more a{color:#c41230;font-family:Athelas,STHeiti,Microsoft Yahei,serif;font-size:1.1rem}main .read-more a:hover{text-decoration:underline}main .about,main .post{padding:1.5rem 0}main .about .post__title,main .post .post__title{font-family:Athelas,STHeiti,Microsoft Yahei,serif}main .about .post__title a,main .post .post__title a{color:#34495e}main .about h2,main .about h3,main .about h4,main .about h5,main .about h6,main .post h2,main .post h3,main .post h4,main .post h5,main .post h6{font-weight:400}main .about :not(pre)>code,main .post :not(pre)>code{padding:3px 5px;border-radius:4px;color:#c7254e;background:#f8f5ec}main .about p>a,main .post p>a{color:#c41230}main .about p>a:hover,main .post p>a:hover{border-bottom:1px solid #c41230}main .about blockquote,main .post blockquote{margin:0 0;padding:10px 20px;position:relative;color:rgba(52,73,94,.8);background-color:rgba(192,91,77,.05);border-left:3px solid rgba(192,91,77,.3);box-shadow:1px 1px 2px rgba(0,0,0,.125)}main .about blockquote p,main .post blockquote p{margin:0}main .about blockquote blockquote,main .post blockquote blockquote{margin:0em 0 2em 0}main .about table,main .post table{width:100%;max-width:100%;margin:10px 0;border-spacing:0;box-shadow:2px 2px 3px rgba(0,0,0,.125)}main .about table thead,main .post table thead{background:#f8f5ec}main .about table th,main .about table td,main .post table th,main .post table td{padding:5px 15px;border:1px double #f4efe1}main .about table tr:hover,main .post table tr:hover{background-color:#f8f5ec}main .about .footnote-definition,main .post .footnote-definition{padding-left:40px}main .about .footnote-definition:first-of-type,main .post .footnote-definition:first-of-type{border-top:2px dashed #c41230;margin-top:1rem;padding-top:1rem}main .about .footnote-definition sup.footnote-definition-label,main .post .footnote-definition sup.footnote-definition-label{font-size:100%;position:unset;top:unset}main .about .footnote-definition sup.footnote-definition-label::after,main .post .footnote-definition sup.footnote-definition-label::after{content:"."}main .about .footnote-definition p,main .post .footnote-definition p{display:inline}main .about__title,main .post__title{margin:0;font-size:26px;font-weight:400;display:inline-block;vertical-align:middle;transform:translateZ(0);backface-visibility:hidden;box-shadow:0 0 1px rgba(0,0,0,0);position:relative;overflow:hidden}main .about__title:before,main .post__title:before{content:"";position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#c41230;transition-duration:.2s;transition-property:right,left;transition-timing-function:ease-out}main .about__title.active:before,main .about__title:active:before,main .about__title:focus:before,main .about__title:hover:before,main .post__title.active:before,main .post__title:active:before,main .post__title:focus:before,main .post__title:hover:before{right:0;left:0}main .about__category,main .post__category{display:inline}main .about__category a,main .post__category a{color:inherit}main .about__category a:before,main .post__category a:before{content:"·";padding-right:2px}main .about__category a:hover,main .post__category a:hover{color:#c41230}main .about__meta,main .post__meta{font-size:14px;color:#757575}main .about__summary,main .post__summary{margin-bottom:1rem}main .post-footer{margin-top:20px;border-top:1px solid #e6e6e6}main .post-footer:after{clear:both;height:0;width:100%;content:"";display:block}main .post-tags{padding:15px 0}main .post-tags a{margin-right:5px;color:#c41230;word-break:break-all}main .post-nav{margin:1rem 0}main .post+.post{border-top:1px solid #e6e6e6}main .pagination{clear:both;font-family:Athelas,STHeiti,Microsoft Yahei,serif;margin:2rem 0}main .pagination a{color:#34495e}.next,.previous{font-weight:600;font-size:20px;transition:transform .3s ease-out}.next:hover,.previous:hover{color:#c41230}.next{float:right}.next:hover{transform:translateX(4px)}.previous{float:left}.previous:hover{transform:translateX(-4px)}.taxonomies{margin:2em 0 3em;text-align:center}.taxonomies__title{display:inline-block;font-size:18px;color:#c41230;border-bottom:2px solid #c41230}.taxonomies__items{margin:10px 0}.taxonomies__items a{margin:5px 10px;word-wrap:break-word;position:relative}.taxonomies__items a:hover{color:#c41230}.taxonomies__items a .count{position:relative;top:-8px;right:-2px;color:#c41230;font-size:12px}.taxonomy{margin:2em 0}.taxonomy__item{padding:3px 20px;border-left:1px solid #cacaca;transition:.2s ease-out}.taxonomy__item:hover{border-left:3px solid #c41230;transform:translateX(4px)}.taxonomy__item__time{margin-right:10px;color:#757575}.taxonomy__item__title a{color:#c41230}.about p>a{color:#c41230;word-break:break-all}.about p>a:hover{border-bottom:1px solid #c41230}.mobile-navbar{display:none;position:fixed;top:0;left:0;width:100%;height:50px;background:#fff;box-shadow:0px 2px 2px #cacaca;text-align:center;transition:transform 300ms ease;z-index:99}.mobile-navbar.fixed-open{transform:translate3d(180px, 0px, 0px)}.mobile-navbar .mobile-header-logo{display:inline-block;margin-right:50px}.mobile-navbar .mobile-header-logo .logo{font-size:22px;line-height:50px}.mobile-navbar .mobile-navbar-icon{cursor:pointer;color:#c41230;height:50px;width:50px;font-size:24px;text-align:center;float:left;position:relative;transition:background .5s}@keyframes clickfirst{0%{transform:translateY(6px) rotate(0deg)}100%{transform:translateY(0) rotate(45deg)}}@keyframes clickmid{0%{opacity:1}100%{opacity:0}}@keyframes clicklast{0%{transform:translateY(-6px) rotate(0deg)}100%{transform:translateY(0) rotate(-45deg)}}@keyframes outfirst{0%{transform:translateY(0) rotate(-45deg)}100%{transform:translateY(-6px) rotate(0deg)}}@keyframes outmid{0%{opacity:0}100%{opacity:1}}@keyframes outlast{0%{transform:translateY(0) rotate(45deg)}100%{transform:translateY(6px) rotate(0deg)}}.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:#c41230}.mobile-navbar .mobile-navbar-icon span:nth-child(1){transform:translateY(6px) rotate(0deg)}.mobile-navbar .mobile-navbar-icon span:nth-child(3){transform:translateY(-6px) rotate(0deg)}.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-menu{background-color:rgba(248,245,236,.5)}.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{padding:10px 30px;border-bottom:1px solid #f8f5ec}.mobile-menu .mobile-menu-list a{font-size:18px}.mobile-menu .mobile-menu-list a:hover{color:#c41230}@media screen and (max-width: 800px){.mobile-navbar{display:block}}.slideout-menu{position:fixed;top:0;left:0px;bottom:0;width:180px;min-height:100vh;overflow-y:hidden;-webkit-overflow-scrolling:touch;z-index:0;display:none}.slideout-panel{position:relative;z-index:1;background-color:#fff}.slideout-open,.slideout-open body,.slideout-open .slideout-panel{overflow:hidden}.slideout-open .slideout-menu{display:block}.post-toc{position:absolute;width:200px;margin-left:785px;padding:10px;border-radius:5px;background:rgba(248,245,236,.6);box-shadow:1px 1px 2px rgba(0,0,0,.125);word-wrap:break-word;box-sizing:border-box;position:fixed;top:20px}.post-toc .post-toc-title{margin:0 10px;font-size:20px;font-weight:400;text-transform:uppercase}.post-toc .post-toc-content{font-size:15px}.post-toc .post-toc-content.always-active ul{display:block}.post-toc .post-toc-content>nav>ul{margin:10px 0}.post-toc .post-toc-content ul{padding-left:20px;list-style:square}.post-toc .post-toc-content ul ul{padding-left:15px;display:none}.post-toc .post-toc-content ul .has-active>ul{display:block}.post-toc .post-toc-content .toc-link.active{color:#c41230}@media screen and (max-width: 1185px){.post-toc{display:none}}.z-code{color:#727373;background-color:#fff}.z-comment,.z-punctuation.z-definition.z-comment{color:#5f6364}.z-variable{color:#727373}.z-keyword,.z-storage.z-type,.z-storage.z-modifier{color:#916392}.z-keyword.z-operator,.z-constant.z-other.z-color,.z-punctuation,.z-meta.z-tag,.z-punctuation.z-definition.z-tag,.z-punctuation.z-separator.z-inheritance.z-php,.z-punctuation.z-definition.z-tag.z-html,.z-punctuation.z-definition.z-tag.z-begin.z-html,.z-punctuation.z-definition.z-tag.z-end.z-html,.z-punctuation.z-section.z-embedded,.z-keyword.z-other.z-template,.z-keyword.z-other.z-substitution{color:#237e7f}.z-entity.z-name.z-tag,.z-meta.z-tag.z-sgml,.z-markup.z-deleted.z-git_gutter{color:#ca4251}.z-entity.z-name.z-function,.z-meta.z-function-call,.z-variable.z-function,.z-support.z-function,.z-keyword.z-other.z-special-method,.z-meta.z-block-level{color:#4076a7}.z-support.z-other.z-variable,.z-string.z-other.z-link{color:#c14c52}.z-constant.z-numeric,.z-constant.z-language,.z-support.z-constant,.z-constant.z-character,.z-variable.z-parameter,.z-keyword.z-other.z-unit{color:#b75922}.z-string,.z-constant.z-other.z-symbol,.z-constant.z-other.z-key,.z-entity.z-other.z-inherited-class,.z-markup.z-heading,.z-markup.z-inserted.z-git_gutter,.z-meta.z-group.z-braces.z-curly .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js{color:#517c4e}.z-entity.z-name.z-class,.z-entity.z-name.z-type.z-class,.z-support.z-type,.z-support.z-class,.z-support.z-orther.z-namespace.z-use.z-php,.z-meta.z-use.z-php,.z-support.z-other.z-namespace.z-php,.z-markup.z-changed.z-git_gutter{color:#926c00}.z-entity.z-name.z-module.z-js,.z-variable.z-import.z-parameter.z-js,.z-variable.z-other.z-class.z-js{color:#cb414d}.z-variable.z-language{color:#cb414d}.z-entity.z-name.z-method.z-js{color:#6c727c}.z-meta.z-class-method.z-js .z-entity.z-name.z-function.z-js,.z-variable.z-function.z-constructor{color:#6c727c}.z-entity.z-other.z-attribute-name{color:#996091}.z-markup.z-inserted{color:#517c4e}.z-markup.z-deleted{color:#cb414d}.z-markup.z-changed{color:#996091}.z-string.z-regexp{color:#237e7f}.z-constant.z-character.z-escape{color:#237e7f}.z-* url*,.z-* link*,.z-* uri*{text-decoration:underline}.z-constant.z-numeric.z-line-number.z-find-in-files{color:#976756}.z-entity.z-name.z-filename.z-find-in-files{color:#517c4e}.z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js,.z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js{color:#4076a7}.z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js{color:#cb414d}