/*!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:transparent}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{margin-top:52px;margin-bottom:42px;display:block;border:0;text-align:center}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}sup{font-size:.6em;opacity:.6}p{text-align:justify}html{font-size:16px;box-sizing:border-box}body{padding:0;margin:0;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;color:rgba(0,0,0,.75);background:#fefefe;scroll-behavior:smooth;vertical-align:baseline}img{max-width:100%;height:auto;display:inline-block;vertical-align:middle}a{color:rgba(0,0,0,.75);text-decoration:none}h1{font-size:1.5rem;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif}h2{font-size:1.4rem;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif}h3{font-size:1.3rem;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif}h4{font-size:1.2rem;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif}h5{font-size:1.1rem;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif}h6{font-size:1rem;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif}.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%}.btn{display:inline-block;padding:5px 10px;font-size:14px;margin-top:1em;color:rgba(0,0,0,.75);background:#fff;border:1px solid rgba(0,0,0,.75);text-decoration:none}#content{margin:0 auto;width:90%;max-width:768px}#primary.home{width:73%;float:left}#primary{margin:0 auto}@media only screen and (max-width:768px){.site-header-inner,.content{width:90%}#secondary{display:none}#primary.home{width:100%}}.header:before,.header:after{content:" ";display:table}.header:after{clear:both}.header{padding:20px}@media only screen and (max-width:768px){.header{padding:20px 0 0;text-align:center}}#masthead{z-index:9;top:0;right:0;left:0;box-shadow:0 0 1px rgba(0,0,0,.15)}@media screen and (max-width:640px){#masthead .site-header-inner{transition:1s all;height:auto}#masthead .site-title{display:block;margin:0 auto;float:none;text-align:center}#masthead #nav-top{float:none;margin-top:-15px}#masthead .nav-top-items{justify-content:center;display:flex;margin:0 -10px;flex-wrap:wrap}#masthead .nav-top-items li.menu-item{margin-left:0;margin:0 10px}}.site-header-inner{height:65px;line-height:65px;max-width:768px;margin:0 auto;width:90%}.site-title{text-align:left;display:inline-block;margin:0 auto;font-weight:400;font-size:24px;color:rgba(0,0,0,.7)}#nav-top{float:right}#nav-top .nav-top-items{list-style:none;padding-left:0;margin:0 auto}#nav-top .nav-top-items .menu-item{font-size:16px;margin-left:30px;display:inline-block}#nav-top .nav-top-items .menu-item a{color:rgba(0,0,0,.6)}.posts{margin-bottom:20px;border-bottom:1px solid #eee}.post{padding:40px 0}.post+.post{border-top:1px solid #eee}.post .post-excerpt img{padding-top:.5em}.post .post-header .post-title{margin:0 0 10px;line-height:1.4;font-size:1.3em;font-weight:400;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-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.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-link{display:inline;vertical-align:initial}.post .post-time{color:#aaa;display:block;font-size:14px;margin-bottom:10px}.post .post-excerpt p{margin:0 0 16px}.post .post-content{margin-bottom:40px}.post .post-content h1{font-size:1.3em;font-weight:400;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif;margin-top:1.2em}.post .post-content h2{font-size:1.3em;font-weight:400;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif;margin-top:1.2em}.post .post-content h3{font-size:1.3em;font-weight:400;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif;margin-top:1.2em}.post .post-content h4{font-size:1.3em;font-weight:400;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif;margin-top:1.2em}.post .post-content h5{font-size:1.3em;font-weight:400;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif;margin-top:1.2em}.post .post-content h6{font-size:1.3em;font-weight:400;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif;margin-top:1.2em}.post .post-content .headerlink:hover{border-bottom:0}.post .post-content .headerlink::before{margin-right:5px;font-size:1.1em;color:#4d89fb}.post .post-content a{color:#4d89fb;word-break:break-all}.post .post-content a:hover{border-bottom:1px solid #4d89fb}.post .post-content a.fancybox{border:0}.post .post-content blockquote{margin:2em 0;padding-left:10px;position:relative;color:rgba(0,0,0,.6);background-color:#fff;border-left:2px solid #aaa}.post .post-content blockquote p{margin:0}.post .post-content img{display:inline-block;max-width:100%}.post .post-content .katex-display{overflow-x:auto;overflow-y:hidden}.post .post-content>table{max-width:100%;margin:10px 0;border-spacing:0}.post .post-content>table th,.post .post-content>table td{padding:5px 15px;border:1px double #f0f0f0;text-align:left}.post .post-content code,.post .post-content pre{padding:7px;font-size:13px;font-family:ui-monospace,SFMono-Regular,sf mono,Menlo,Consolas,liberation mono,monospace;background:#f8f8f8}.post .post-content code{padding:3px 5px;color:#000}.post .post-content .highlight{margin:1em 0;overflow-x:auto;box-shadow:1px 1px 2px rgba(0,0,0,.125)}.post .post-content .highlight table{position:relative}.post .post-content .highlight table::after{position:absolute;top:0;right:0;left:0;padding:2px 7px;font-size:13px;font-weight:700;color:#cacaca;background:#f0f0f0;content:"Code"}.post .post-content .highlight.html>::after{content:"HTML"}.post .post-content .highlight.js>::after{content:"JavaScript"}.post .post-content .highlight.bash>::after{content:"Bash"}.post .post-content .highlight.css>::after{content:"CSS"}.post .post-content .highlight.scss>::after{content:"Scss"}.post .post-content .highlight.java>::after{content:"Java"}.post .post-content .highlight.xml>::after{content:"XML"}.post .post-content .highlight.python>::after{content:"Python"}.post .post-content .highlight.json>::after{content:"JSON"}.post .post-content .highlight.swift>::after{content:"Swift"}.post .post-content .highlight.ruby>::after{content:"Ruby"}.post .post-content .highlight.php>::after{content:"PHP"}.post .post-content .highlight.c>::after{content:"C"}.post .post-content .highlight.cpp>::after{content:"C++"}.post .post-content .highlight.scheme>::after{content:"Scheme"}.post .post-content .highlight.objectivec>::after{content:"Objective-C"}.post .post-content .highlight.yml>::after{content:"YAML"}.post .post-content .highlight.stylus>::after{content:"Stylus"}.post .post-content .code-tabs.is-ready .highlight{margin:0;box-shadow:none}.post .post-content .code-tabs.is-ready .highlight table::after{display:none}.post .post-content .code-tabs.is-ready .highlight .code pre,.post .post-content .code-tabs.is-ready .highlight .gutter pre{padding-top:10px}.post .post-content .highlight .code pre{margin:0;padding:30px 10px 10px}.post .post-content .highlight .gutter{width:10px;color:#cacaca}.post .post-content .highlight .gutter pre{margin:0;padding:30px 7px 10px}.post .post-content .highlight .line{height:20px}.post .post-content .highlight table,.post .post-content .highlight tr,.post .post-content .highlight td{margin:0;padding:0;width:100%;border-collapse:collapse}.post .post-content .highlight .code .c,.post .post-content .highlight .code .ch,.post .post-content .highlight .code .cm,.post .post-content .highlight .code .c1,.post .post-content .highlight .code .cs{color:#93a1a1}.post .post-content .highlight .code .k,.post .post-content .highlight .code .kd,.post .post-content .highlight .code .kn,.post .post-content .highlight .code .kp,.post .post-content .highlight .code .kr,.post .post-content .highlight .code .gi{color:#859900}.post .post-content .highlight .code .m,.post .post-content .highlight .code .mb,.post .post-content .highlight .code .mf,.post .post-content .highlight .code .mh,.post .post-content .highlight .code .mi,.post .post-content .highlight .code .il,.post .post-content .highlight .code .mo,.post .post-content .highlight .code .s,.post .post-content .highlight .code .sa,.post .post-content .highlight .code .sb,.post .post-content .highlight .code .sc,.post .post-content .highlight .code .dl,.post .post-content .highlight .code .sd,.post .post-content .highlight .code .s2,.post .post-content .highlight .code .se,.post .post-content .highlight .code .sh,.post .post-content .highlight .code .sx,.post .post-content .highlight .code .s1,.post .post-content .highlight .code .sr,.post .post-content .highlight .code .l,.post .post-content .highlight .code .ld,.post .post-content .highlight .code .kc{color:#2aa198}.post .post-content .highlight .code .nf,.post .post-content .highlight .code .fm,.post .post-content .highlight .code .ne,.post .post-content .highlight .code .nn,.post .post-content .highlight .code .nt,.post .post-content .highlight .code .gh,.post .post-content .highlight .code .gu{color:#268bd2}.post .post-content .highlight .code .na,.post .post-content .highlight .code .nv,.post .post-content .highlight .code .vc,.post .post-content .highlight .code .vg,.post .post-content .highlight .code .vi,.post .post-content .highlight .code .vm,.post .post-content .highlight .code .nc,.post .post-content .highlight .code .kt{color:#b58900}.post .post-content .highlight .code .ss,.post .post-content .highlight .code .si,.post .post-content .highlight .code .cp,.post .post-content .highlight .code .cpf,.post .post-content .highlight .code .nd,.post .post-content .highlight .code .nl{color:#cb4b16}.post .post-content .highlight .code .nb,.post .post-content .highlight .code .bp,.post .post-content .highlight .code .gd{color:#dc322f}.post .post-content .highlight.yml .code .nt,.post .post-content .highlight.yaml .code .nt{color:#b58900}.post .post-content .code-tabs.is-ready{margin:1em 0;box-shadow:1px 1px 2px rgba(0,0,0,.125)}.post .post-content .code-tabs-nav{font-size:13px;background:#f0f0f0}.post .post-content .code-tabs-nav button{padding:2px 7px;border:0;font:inherit;font-weight:700;color:#cacaca;background:0 0;cursor:pointer}.post .post-content .code-tabs-nav button:hover{color:#aaa}.post .post-content .code-tabs-nav button.is-active{color:rgba(0,0,0,.75);background:#f8f8f8}.post .post-content .read-more .read-more-link{color:#4d89fb;font-size:1.1em;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif}.post .post-content .read-more .read-more-link:hover{border-bottom:1px solid #4d89fb}.post .post-footer{margin-top:20px;border-top:1px solid #eee;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif}.post .post-footer .post-tags{padding:15px 0}.post .post-footer .post-tags a{margin-right:5px;color:#4d89fb;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:400;font-size:16px;color:rgba(0,0,0,.75);font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-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:#4d89fb;transform:translateX(-4px)}.post .post-footer .post-nav .next{float:right}.post .post-footer .post-nav .next:hover{color:#4d89fb;transform:translateX(4px)}.post .post-footer .post-nav .nav-mobile{display:none}@media only screen and (max-width:768px){.post .post-footer .post-nav .nav-default{display:none}.post .post-footer .post-nav .nav-mobile{display:inline}}.pagination{padding-bottom:1.2em}.pagination:before,.pagination:after{content:" ";display:table}.pagination:after{clear:both}.pagination .prev,.pagination .next{font-weight:400;font-size:16px;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif;transition-property:transform;transition-timing-function:ease-out;transition-duration:.3s}.pagination .prev{float:left}.pagination .prev:hover{color:#4d89fb;transform:translateX(-4px)}.pagination .next{float:right}.pagination .next:hover{color:#4d89fb;transform:translateX(4px)}#secondary{width:19%;float:right;padding-top:40px;color:rgba(0,0,0,.6)}#secondary ol,#secondary ul{list-style:none}.widget-area{font-size:14px}.widget-area ul{padding-left:0}.widget-area h3{margin-top:0;color:#000}.widget-area .widget-title{font-size:16px;letter-spacing:1px;padding-bottom:5px;font-weight:300;border-bottom:1px solid #ddd}.widget-area .category-list-item{line-height:1.9}.widget-area .category-list-item .category-list-link{color:rgba(0,0,0,.6)}.widget-area .category-list-item .category-list-count{padding-left:5px;color:#999;font-size:.85em}.widget-area .category-list-item .category-list-count:before{content:"("}.widget-area .category-list-item .category-list-count:after{content:")"}.widget-area+.widget-area{margin-top:30px}.widget_tags .tag-list-item{padding:0 10px 7px 0;font-size:14px;text-transform:uppercase;border:1px solid #ff;display:inline-block;background:#fff}.widget_tags .tag-list-item .tag-list-link{color:rgba(0,0,0,.6)}.widget_tags .tag-list-count{vertical-align:super;font-size:.6em;opacity:.6;top:-.5em}.footer{margin-top:2em}#colophon{width:90%;margin:30px auto 0;padding:20px 0;border-top:1px solid #e1e1e1;color:#aaa;font-size:14px;max-width:768px;display:block;overflow:hidden}#colophon a{color:#aaa}#colophon .footer-author{margin:0 4px}.archive{margin:2em 0;line-height:1.6}.archive .archive-post+.collection-title{margin-top:30px}.archive .archive-title{font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-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:29px;line-height:31px}.archive .collection-title{font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif;font-size:29px}.archive .collection-title .archive-year{margin:18px 0;font-weight:400;font-size:29px;line-height:34px}.archive .archive-post{margin:15px 0}.archive .archive-post .archive-post-time{float:left;overflow:hidden;color:#aaa;font-size:14px;line-height:25px;display:block}.archive .archive-post .archive-post-title{margin-left:85px;display:block}.archive .archive-post .archive-post-title .archive-post-link{color:#333}.archive .archive-post::first-child{margin-top:20px}.archive .archive-post:hover{transition:.2s ease-out;transform:translateX(4px)}.archive .archive-post:hover .archive-post-time{color:#4d89fb}.archive .archive-post:hover .archive-post-title .archive-post-link{color:#4d89fb}.tag-cloud{margin:2em 0 3em;text-align:center;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif}.tag-cloud .tag-cloud-title{display:inline-block;font-size:18px;color:#4d89fb;border-bottom:2px solid #4d89fb}.tag-cloud .tag-cloud-tags{margin:10px 0}.tag-cloud .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;transition-duration:.2s;transition-property:transform;transition-timing-function:ease-out}.tag-cloud .tag-cloud-tags a:active,.tag-cloud .tag-cloud-tags a:focus,.tag-cloud .tag-cloud-tags a:hover{color:#4d89fb;transform:scale(1.1)}.categories{margin:2em 0 3em;text-align:center;font-family:open sans,pingfang sc,hiragino sans gb,microsoft yahei,microsoft jhenghei,sans-serif}.categories .categories-title{display:inline-block;font-size:18px;color:#4d89fb;border-bottom:2px solid #4d89fb}.categories .categories-tags{margin:10px 0}.categories .categories-tags .category-link{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;transition-duration:.2s;transition-property:transform;transition-timing-function:ease-out}.categories .categories-tags .category-link .category-count{display:inline-block;position:relative;top:-8px;right:-2px;color:#4d89fb;font-size:12px}.categories .categories-tags .category-link:active,.categories .categories-tags .category-link:focus,.categories .categories-tags .category-link:hover{color:#4d89fb;transform:scale(1.1)}@font-face{font-family:iconfont;src:url(//at.alicdn.com/t/font_8gx15cdpiaz41jor.eot);src:url(//at.alicdn.com/t/font_8gx15cdpiaz41jor.eot?#iefix)format("embedded-opentype"),url(//at.alicdn.com/t/font_8gx15cdpiaz41jor.woff)format("woff"),url(//at.alicdn.com/t/font_8gx15cdpiaz41jor.ttf)format("truetype"),url(//at.alicdn.com/t/font_8gx15cdpiaz41jor.svg#iconfont)format("svg")}.iconfont{font-family:iconfont!important;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale;cursor:pointer}.icon-linkedin:before{content:"\e60d";position:relative;top:-2px}.icon-twitter:before{content:"\e600"}.icon-weibo:before{content:"\e602"}.icon-stack-overflow:before{content:"\e603";font-size:.85em;position:relative;top:-4px}.icon-email:before{content:"\e605";position:relative;top:-2px}.icon-facebook:before{content:"\e601";font-size:.95em;position:relative;top:-2px}.icon-github:before{content:"\e606";position:relative;top:-3px}.icon-rss:before{content:"\e604"}.icon-google:before{content:"\e609"}.icon-zhihu:before{content:"\e607";font-size:.9em;position:relative;top:-2px}.icon-heart:before{content:"\e608"}.icon-right:before{content:"\e60a"}.icon-left:before{content:"\e60b"}.icon-up:before{content:"\e60c"}.icon-search:before{content:"\e60e"}.icon-close:before{content:"\e60f"}.back-to-top{display:none;position:fixed;right:20px;bottom:20px;transition-property:transform;transition-timing-function:ease-out;transition-duration:.3s;z-index:10}.back-to-top:hover{transform:translateY(-5px)}@media only screen and (max-width:768px){.back-to-top{display:none!important}}