@charset "UTF-8";*{box-sizing:border-box}html,body{background:#fafafa;color:#1f2937;font-family:inter,-apple-system,BlinkMacSystemFont,segoe ui,roboto,helvetica neue,Arial,sans-serif;font-size:16px;line-height:1.7;margin:0;padding:0;width:100%;min-width:100%;max-width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 20px}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:#1f2937;margin:1.5em 0 .8em;font-family:inter,-apple-system,BlinkMacSystemFont,segoe ui,roboto,helvetica neue,Arial,sans-serif}h1{font-size:1.5rem;margin-top:0}h2{font-size:1.3rem}h3{font-size:1.2rem}h4{font-size:1.1rem}h5{font-size:1rem}h6{font-size:.9rem}a{color:#10b981;text-decoration:none;transition:color .2s ease,border-bottom-color .2s ease;border-bottom:1px solid transparent}a:hover{color:#0c8a60;border-bottom-color:initial}a:visited{color:#0ea271}.site-header{background:rgba(255,255,255,.8);backdrop-filter:blur(8px);border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:100;width:100%;max-width:100%;margin:0;left:0;right:0}.site-header .header-container{display:flex;justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:16px 24px}.site-logo{display:flex;align-items:center;gap:10px;text-decoration:none;border-bottom:none!important}.site-logo .logo-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#059669,#10b981);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s}.site-logo .logo-icon span{color:#fff;font-weight:700;font-size:18px}.site-logo .logo-title{font-weight:700;color:#1f2937;font-size:17px;line-height:1.3}.site-logo .logo-subtitle{font-size:12px;color:#6b7280;line-height:1.3}.site-logo:hover .logo-icon{transform:scale(1.08)}.site-nav.desktop-nav{display:flex;align-items:center;gap:24px}.site-nav.desktop-nav .nav-link{color:#6b7280;text-decoration:none;border-bottom:none!important;font-size:15px;white-space:nowrap;transition:color .2s}.site-nav.desktop-nav .nav-link:hover,.site-nav.desktop-nav .nav-link.active{color:#1f2937}.mobile-menu-toggle{display:none;background:0 0;border:none;cursor:pointer;padding:8px}.mobile-menu-toggle .hamburger{display:block;width:22px;height:2px;background:#1f2937;position:relative;transition:background .2s}.mobile-menu-toggle .hamburger::before,.mobile-menu-toggle .hamburger::after{content:'';position:absolute;left:0;width:22px;height:2px;background:#1f2937;transition:transform .2s}.mobile-menu-toggle .hamburger::before{top:-7px}.mobile-menu-toggle .hamburger::after{top:7px}.mobile-menu-toggle.active .hamburger{background:0 0}.mobile-menu-toggle.active .hamburger::before{transform:translateY(7px)rotate(45deg)}.mobile-menu-toggle.active .hamburger::after{transform:translateY(-7px)rotate(-45deg)}.mobile-nav{display:none;flex-direction:column;gap:4px;padding:0 24px 16px;border-top:1px solid #e5e7eb;margin-top:4px}.mobile-nav .nav-link{color:#6b7280;text-decoration:none;border-bottom:none!important;padding:10px 0;font-size:15px}.mobile-nav .nav-link:hover,.mobile-nav .nav-link.active{color:#1f2937}.mobile-nav.active{display:flex}@media(max-width:768px){.site-nav.desktop-nav{display:none}.mobile-menu-toggle{display:block}}.nav-item-dropdown{position:relative;display:inline-flex;align-items:center}.nav-item-dropdown .nav-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%)translateY(4px);background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,8%);padding:6px;display:flex;flex-direction:column;min-width:130px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,transform .15s ease;z-index:50}.nav-item-dropdown .nav-dropdown::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}.nav-item-dropdown .nav-dropdown-link{color:#6b7280;text-decoration:none;border-bottom:none!important;font-size:14px;padding:8px 12px;border-radius:6px;white-space:nowrap;transition:background .15s,color .15s}.nav-item-dropdown .nav-dropdown-link:hover{background:#f9fafb;color:#10b981}.nav-item-dropdown:hover .nav-dropdown,.nav-item-dropdown:focus-within .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%)translateY(0)}.mobile-nav-group{display:flex;flex-direction:column}.mobile-nav-expand{display:flex;align-items:center;justify-content:space-between;width:100%;background:0 0;border:none;cursor:pointer;text-align:left;font-family:inherit}.mobile-nav-expand .expand-icon{color:#6b7280;font-size:15px;transition:transform .2s}.mobile-nav-expand.active .expand-icon{transform:rotate(45deg)}.mobile-nav-submenu{display:none;flex-direction:column;padding-left:16px;border-left:2px solid #d1fae5;margin:2px 0 6px}.mobile-nav-submenu.active{display:flex}.mobile-nav-submenu .subnav-link{padding:8px 0 8px 12px;font-size:14px}.mobile-nav-submenu .subnav-link.active{color:#10b981}.hero-section{background:linear-gradient(135deg,#f0fdf4 0%,#d1fae5 100%);padding:80px 40px 60px;text-align:center;margin:0 calc(50% - 50vw)!important;width:100vw!important;max-width:none!important;position:relative!important;left:0!important;right:0!important}.hero-section .hero-title{font-size:52px;margin-bottom:24px;color:#1f2937;font-weight:700;line-height:1.2;max-width:none!important}.hero-section .hero-description{font-size:22px;color:#6b7280;max-width:1200px!important;margin:0 auto;line-height:1.6;padding:0 20px}.main .container .hero-section,.main .content-wrapper .hero-section,.main .content .hero-section,#content .hero-section{background:linear-gradient(135deg,#f0fdf4 0%,#d1fae5 100%)!important;margin:0 calc(50% - 50vw)!important;width:100vw!important;max-width:none!important;padding:80px 40px 60px!important;position:relative!important;left:0!important;right:0!important;text-align:center!important}.main .container .hero-section .hero-title,.main .content-wrapper .hero-section .hero-title,.main .content .hero-section .hero-title,#content .hero-section .hero-title{max-width:none!important;padding:0 20px}.main .container .hero-section .hero-description,.main .content-wrapper .hero-section .hero-description,.main .content .hero-section .hero-description,#content .hero-section .hero-description{max-width:1200px!important;margin:0 auto!important;padding:0 20px}.hero-badge{display:inline-block;padding:6px 16px;margin-bottom:20px;background:#10b981;color:#fff;font-size:13px;font-weight:600;border-radius:999px}.hero-section-compact{padding:48px 24px 40px}.hero-section-compact .hero-title{font-size:36px;margin-bottom:14px}.hero-section-compact .hero-description{font-size:17px}.cases-section{padding:60px 20px}.cases-section .cases-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-top:40px}@media(max-width:900px){.cases-section .cases-grid{grid-template-columns:1fr}}.cases-section .cases-more-note{text-align:center;color:#6b7280;margin-top:48px}.cases-section .case-card{background:#fff;border:1px solid #e5e7eb!important;border-radius:12px;overflow:hidden;transition:border-color .2s ease;display:flex;flex-direction:column;text-decoration:none!important;color:#1f2937}.cases-section .case-card:hover{border-color:rgba(16,185,129,.6)!important}.cases-section .case-card .case-image{padding:16px 16px 0}.cases-section .case-card .case-image img,.cases-section .case-card .case-image .case-image-placeholder{width:100%;border-radius:8px;border:1px solid rgba(16,185,129,.15);display:block}.cases-section .case-card .case-image img{object-fit:cover;max-height:280px}.cases-section .case-card .case-image .case-image-placeholder{height:200px;background:linear-gradient(135deg,#f0fdf4 0%,#d1fae5 100%);display:flex;align-items:center;justify-content:center}.cases-section .case-card .case-image .case-image-placeholder .case-image-icon{font-size:56px}.cases-section .case-card .case-content{flex:1;display:flex;flex-direction:column;padding:24px}.cases-section .case-card .case-heading{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.cases-section .case-card .case-badge{flex-shrink:0;padding:4px 10px;background:#d1fae5;border:1px solid rgba(16,185,129,.3);color:#059669;font-size:12px;font-weight:600;border-radius:999px}.cases-section .case-card .case-title{margin:0;font-size:20px;font-weight:700;color:#1f2937;line-height:1.3}.cases-section .case-card .case-tagline{color:#10b981;font-weight:600;font-size:14px;margin:0 0 12px}.cases-section .case-card .case-description{color:#6b7280;font-size:14px;line-height:1.7;margin:0 0 16px;flex:1}.cases-section .case-card .case-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.cases-section .case-card .case-tags .tag{background:#f9fafb;border:1px solid #e5e7eb;color:#6b7280;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:500}.cases-section .case-card .case-link{color:#10b981;font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:6px;align-self:flex-start}.cases-section .case-card .case-link .case-link-arrow{transition:transform .2s ease}.cases-section .case-card:hover .case-link .case-link-arrow{transform:translateX(3px)}.site-footer{background:#f9fafb;border-top:1px solid #e5e7eb;color:#1f2937;padding:60px 20px 30px;margin-top:80px;width:100%;max-width:100%;margin-left:0;margin-right:0;left:0;right:0}.site-footer .container{max-width:1200px;margin:0 auto;padding:0 20px}.site-footer .footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;margin-bottom:48px}.site-footer .footer-col .footer-title{margin:0 0 16px;font-size:16px;font-weight:700;color:#1f2937}.site-footer .footer-col .footer-desc{color:#6b7280;font-size:14px;line-height:1.6}.site-footer .footer-col .footer-links,.site-footer .footer-col .footer-contact{list-style:none;padding:0;margin:0}.site-footer .footer-col .footer-links li,.site-footer .footer-col .footer-contact li{margin-bottom:10px;font-size:14px;color:#6b7280}.site-footer .footer-col .footer-links a,.site-footer .footer-col .footer-contact a{color:#6b7280;text-decoration:none;border-bottom:none!important;transition:color .2s}.site-footer .footer-col .footer-links a:hover,.site-footer .footer-col .footer-contact a:hover{color:#10b981}.site-footer .footer-bottom{border-top:1px solid #e5e7eb;padding-top:20px;text-align:center;color:#6b7280;font-size:14px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:48px 0}.pagination .container{display:flex;justify-content:center;align-items:center;gap:20px}.pagination .prev,.pagination .next{background:#fff;border:1px solid #e5e7eb;color:#1f2937;padding:12px 20px;text-decoration:none;font-weight:500;transition:all .2s ease;border-radius:8px;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px rgba(0,0,0,5%)}.pagination .prev:hover,.pagination .next:hover{background:#10b981;color:#fff;border-color:#10b981;transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,.3)}.pagination .page-info{color:#6b7280;font-weight:500}#header,#footer,header,footer{width:100vw!important;max-width:100vw!important;margin-left:0!important;margin-right:0!important;left:0!important;right:0!important;position:relative!important;padding:0!important}.site-header,.site-footer{width:100vw!important;max-width:100vw!important;margin-left:0!important;margin-right:0!important;left:0!important;right:0!important;position:relative!important}@media(max-width:768px){.site-header .header-container{padding:12px 16px}.site-logo .logo-title{font-size:15px}.site-logo .logo-subtitle{display:none}.hero-section{padding:60px 24px 40px}.hero-section .hero-title{font-size:36px;line-height:1.3;padding:0 16px}.hero-section .hero-description{font-size:18px;max-width:100%!important;padding:0 16px}.cases-section{padding:40px 20px}.cases-section .case-card .case-content{padding:20px}.site-footer{padding:40px 20px 20px}.site-footer .footer-grid{grid-template-columns:1fr;gap:30px}.pagination .container{flex-direction:column;gap:16px}}.post{max-width:760px;margin:0 auto;padding:40px 20px 48px}@media(max-width:768px){.post{padding:28px 16px 36px}}.post-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#6b7280;text-decoration:none!important;border-bottom:none!important;margin-bottom:28px;transition:color .2s,transform .2s}.post-back:hover{color:#10b981;transform:translateX(-2px)}.post-header{margin-bottom:28px}.post-header .post-meta-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}.post-header .post-category-chip{display:inline-block;padding:4px 12px;background:#d1fae5;border:1px solid rgba(16,185,129,.3);color:#059669;font-size:12px;font-weight:600;border-radius:999px}.post-header .post-time{font-size:13px;color:#6b7280}.post-header .post-title{font-size:34px;font-weight:700;color:#1f2937;line-height:1.35;margin:0}@media(max-width:768px){.post-header .post-title{font-size:25px}}.post-cover{margin:0 0 36px}.post-cover img{width:100%;display:block;border-radius:14px;border:1px solid #e5e7eb;box-shadow:0 10px 30px rgba(16,185,129,8%)}.post-content{color:#1f2937;font-size:16.5px;line-height:1.9}.post-content>p:first-of-type{font-size:18px;color:#374151;line-height:1.85}.post-content h2{font-size:22px;margin:44px 0 18px;padding-left:14px;border-left:4px solid #10b981;line-height:1.4;color:#1f2937}.post-content h3{font-size:18px;margin:32px 0 14px}.post-content p{margin:0 0 20px}.post-content ul,.post-content ol{margin:0 0 24px}.post-content ul li,.post-content ol li{margin-bottom:10px}.post-content ul li::marker,.post-content ol li::marker{color:#10b981;font-weight:700}.post-content strong{color:#047857}.post-content blockquote{border-left:4px solid #a7f3d0;background:#f0fdf4;border-radius:0 10px 10px 0;padding:16px 20px;color:#6b7280;margin:0 0 24px}.post-content img{border-radius:12px;border:1px solid #e5e7eb}.post-cta{margin-top:48px;padding:36px 28px;text-align:center;background:linear-gradient(135deg,#f0fdf4 0%,#d1fae5 100%);border:1px solid rgba(16,185,129,.25);border-radius:16px}.post-cta h3{margin:0 0 10px;font-size:20px;font-weight:700;color:#1f2937}.post-cta p{margin:0 0 20px;font-size:14.5px;color:#6b7280;line-height:1.7}.post-cta .post-cta-btn{display:inline-block;background:#10b981;color:#fff!important;text-decoration:none!important;border-bottom:none!important;padding:11px 28px;border-radius:999px;font-size:15px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s}.post-cta .post-cta-btn:hover{background:#059669;color:#fff!important;transform:translateY(-1px);box-shadow:0 6px 16px rgba(16,185,129,.35)}.post-tags a{display:inline-block;background:#f9fafb;border:1px solid #e5e7eb;color:#6b7280;padding:4px 12px;margin:0 8px 8px 0;border-radius:999px;font-size:13px;text-decoration:none!important;border-bottom:none!important}.post-tags a:hover{color:#10b981;border-color:rgba(16,185,129,.4)}.post-nav{margin-top:24px;padding-top:28px;border-top:1px solid #e5e7eb}.post-nav .prev,.post-nav .next{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px 18px;text-decoration:none!important;border-bottom:none!important;color:#6b7280;font-size:14px;transition:border-color .2s,color .2s}.post-nav .prev:hover,.post-nav .next:hover{border-color:rgba(16,185,129,.5);color:#10b981}.more-meta,#busuanzi_container_page_pv,.post-copyright{display:none!important}@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: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{-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:inter,-apple-system,BlinkMacSystemFont,segoe ui,roboto,helvetica neue,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#333;background:#fff;scroll-behavior:smooth;border-top:3px solid #10b981}@media screen and (max-width:960px){body{border-top:0}}::selection{background:#10b981;color:#fff}img{max-width:100%;height:auto;display:inline-block;vertical-align:middle}a{color:#333;text-decoration:none}h1{font-size:26px;font-family:merriweather,georgia,times new roman,serif}h2{font-size:24px;font-family:merriweather,georgia,times new roman,serif}h3{font-size:20px;font-family:merriweather,georgia,times new roman,serif}h4{font-size:16px;font-family:merriweather,georgia,times new roman,serif}h5{font-size:14px;font-family:merriweather,georgia,times new roman,serif}h6{font-size:14px;font-family:merriweather,georgia,times new roman,serif}.container{margin:0 auto;width:960px}@media screen and (max-width:960px){.container{width:100%;box-shadow:-1px -5px 5px #d1d5db}}.content-wrapper{padding:0 24px}.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%}@font-face{font-family:iconfont;src:url(../fonts/iconfont/iconfont.eot);src:url(../fonts/iconfont/iconfont.eot#iefix)format("embedded-opentype"),url(../fonts/iconfont/iconfont.woff)format("woff"),url(../fonts/iconfont/iconfont.ttf)format("truetype"),url(../fonts/iconfont/iconfont.svg#iconfont)format("svg");font-display:swap}.post .post-content details.admonition summary:after,.post .post-content .admonition .admonition-title:before,.iconfont{font-family:iconfont!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-text-stroke-width:.2px;cursor:pointer;letter-spacing:0;font-feature-settings:"liga";font-variant-ligatures:discretionary-ligatures;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-bilibili:before{content:"\e900";font-size:.9em;position:relative;top:-4px}.icon-instagram:before{font-size:.95em;content:"\e611";position:relative;top:1px}.icon-douban:before{content:"\e610";position:relative;top:2px}.icon-tumblr:before{content:"\e69f";font-size:.85em;position:relative;top:-2px}.icon-linkedin:before{content:"\e60d";position:relative;top:-2px}.icon-twitter:before{content:"\e600"}.icon-weibo:before{content:"\e602";position:relative;top:2px}.icon-stack-overflow:before{content:"\e902";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-gitlab:before{content:"\e901";font-size:.9em;position:relative;top:-4px}.icon-github:before{content:"\e606";position:relative;top:-1px}.icon-rss:before{content:"\e604"}.icon-google:before{content:"\e609";position:relative;top:2px}.icon-zhihu:before{content:"\e607";font-size:.9em}.icon-pocket:before{content:"\e856";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-close:before{content:"\e60f"}.icon-link:before{content:"\e909"}.header{padding:20px}.header:before,.header:after{content:" ";display:table}.header:after{clear:both}.header .logo-wrapper{float:left}.header .logo-wrapper .logo{font-size:48px;font-family:inter,-apple-system,BlinkMacSystemFont,segoe ui,roboto,helvetica neue,Arial,sans-serif}@media screen and (max-width:960px){.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:merriweather,georgia,times new roman,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:10px}.header .site-navbar .menu .menu-item:before{content:'';position:absolute;z-index:-1;height:2px;bottom:0;left:51%;right:51%;background:#10b981;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:960px){.header .site-navbar{display:none}}.header .language-selector{float:right}@media screen and (max-width:960px){.header{padding:50px 0 0;text-align:center}.header .language-selector{display:none}}.posts{margin-bottom:20px;border-bottom:1px solid #f0fdf4}.post{padding:1.5em 0}.post+.post{border-top:1px solid #f0fdf4}.post .post-header{margin-bottom:20px}.post .post-header .post-title{margin:0;font-size:27px;font-weight:400;font-family:merriweather,georgia,times new roman,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:#10b981;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:#374151}.post .post-header .post-meta .post-time{font-size:15px}.post .post-header .post-meta .post-category{display:inline}.post .post-header .post-meta .post-category a{color:inherit}.post .post-header .post-meta .post-category a::before{content:'·'}.post .post-header .post-meta .post-category a:hover{color:#10b981}.post .post-header .post-meta .more-meta::before{content:'·'}.post .post-toc{position:absolute;width:200px;margin-left:945px;padding:10px;font-family:merriweather,georgia,times new roman,serif;border-radius:5px;background:rgba(240,253,244,.6);box-shadow:1px 1px 2px rgba(0,0,0,.125);word-wrap:break-word;box-sizing:border-box}.post .post-toc .post-toc-title{margin:0 10px;font-size:20px;font-weight:400;text-transform:uppercase}.post .post-toc .post-toc-content{font-size:15px}.post .post-toc .post-toc-content.always-active ul{display:block}.post .post-toc .post-toc-content>nav>ul{margin:10px 0}.post .post-toc .post-toc-content ul{padding-left:20px;list-style:square}.post .post-toc .post-toc-content ul ul{padding-left:15px;display:none}.post .post-toc .post-toc-content ul .has-active>ul{display:block}.post .post-toc .post-toc-content .toc-link.active{color:#10b981}@media screen and (max-width:1345px){.post .post-toc{display:none}}.post .post-content{word-wrap:break-word}.post .post-content h1{font-weight:400;font-family:merriweather,georgia,times new roman,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:merriweather,georgia,times new roman,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:merriweather,georgia,times new roman,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:merriweather,georgia,times new roman,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:merriweather,georgia,times new roman,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:merriweather,georgia,times new roman,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:#10b981;word-break:break-all}.post .post-content a:hover{border-bottom:1px solid #10b981}.post .post-content a.fancybox{border:0}.post .post-content blockquote{margin:2em 0;padding:10px 20px;position:relative;color:rgba(52,73,94,.8);background-color:rgba(16,185,129,5%);border-left:3px solid rgba(16,185,129,.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:#f0fdf4}.post .post-content .table-wrapper>table th,.post .post-content .table-wrapper>table td{padding:5px 15px;border:1px double #e3fbea}.post .post-content .table-wrapper>table tr:hover{background-color:#f0fdf4}.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:#f0fdf4}.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:#b4bbc5;background:#e3fbea;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:#d1d5db}.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:#f0fdf4}.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:#b4bbc5;background:#e3fbea;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:#d1d5db}.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{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:before{cursor:auto;position:absolute;left:.75rem;top:.75rem}.post .post-content .admonition.note{border-left-color:#448aff}.post .post-content .admonition.note .admonition-title:before{color:#448aff;content:"\e903"}.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:before{color:#00b0ff;content:"\e9bb"}.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:before{color:#00b8d4;content:"\ea0c"}.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:before{color:#00bfa5;content:"\e906"}.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:before{color:#00c853;content:"\ea10"}.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:before{color:#64dd17;content:"\ea09"}.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:before{color:#ff9100;content:"\ea07"}.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:before{color:#ff5252;content:"\ea0f"}.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:before{color:#ff1744;content:"\e905"}.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:before{color:#f50057;content:"\e907"}.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:before{color:#651fff;content:"\e9b9"}.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:before{color:#9e9e9e;content:"\e904"}.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:after{position:absolute;top:.75rem;right:.75rem;color:rgba(0,0,0,.26);content:"\e908"}.post .post-content details.admonition[open]>summary:after{transform:rotate(180deg)}.post .post-content .post-summary{margin-bottom:1em}.post .post-content .read-more .read-more-link{color:#10b981;font-size:1.1em;font-family:merriweather,georgia,times new roman,serif}.post .post-content .read-more .read-more-link:hover{border-bottom:1px solid #10b981}.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:#b5b5b5;font-size:.9rem}.post .post-content hr{margin:1rem 0;position:relative;border-top:2px dashed #10b981;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-content .align-center{text-align:center}.post .post-content .align-right{text-align:right}.post .post-content .align-left{text-align:left}.post .post-content .MJXc-display{overflow-x:auto;overflow-y:hidden;padding-right:1px}.post .post-copyright{margin-top:20px;padding-top:10px;border-top:1px dashed #f0fdf4}.post .post-copyright .copyright-item{margin:5px 0}.post .post-copyright .copyright-item a{color:#10b981;word-wrap:break-word}.post .post-copyright .copyright-item a:hover{border-bottom:1px solid #10b981}.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-reward{margin-top:20px;padding-top:10px;text-align:center;border-top:1px dashed #f0fdf4}.post .post-reward .reward-button{margin:15px 0;padding:3px 7px;display:inline-block;color:#10b981;border:1px solid #10b981;border-radius:5px;cursor:pointer}.post .post-reward .reward-button:hover{color:#fff;background-color:#10b981;transition:.5s}.post .post-reward #reward:checked~.qr-code{display:block}.post .post-reward #reward:checked~.reward-button{display:none}.post .post-reward .qr-code{display:none}.post .post-reward .qr-code .qr-code-image{display:inline-block;min-width:200px;width:40%;margin-top:15px}.post .post-reward .qr-code .qr-code-image span{display:inline-block;width:100%;margin:8px 0}.post .post-reward .qr-code .image{width:200px;height:200px}.post .post-footer{margin-top:20px;border-top:1px solid #f0fdf4;font-family:merriweather,georgia,times new roman,serif}.post .post-footer .post-tags{padding:15px 0}.post .post-footer .post-tags a{margin-right:5px;color:#10b981;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:merriweather,georgia,times new roman,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:#10b981;transform:translateX(-4px)}.post .post-footer .post-nav .next{float:right}.post .post-footer .post-nav .next:hover{color:#10b981;transform:translateX(4px)}.post .post-footer .post-nav .nav-mobile{display:none}@media screen and (max-width:960px){.post .post-footer .post-nav .nav-default{display:none}.post .post-footer .post-nav .nav-mobile{display:inline}}.post .post-outdated .hint{position:relative;margin-top:20px;margin-bottom:20px;padding:5px 10px;border-left:4px solid #42acf3;background-color:#eff5ff;border-color:#42acf3}.post .post-outdated .warn{position:relative;margin-top:20px;margin-bottom:20px;padding:5px 10px;border-left:4px solid #f9cf63;background-color:#ffffc0;border-color:#f9cf63}.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:merriweather,georgia,times new roman,serif;transition-property:transform;transition-timing-function:ease-out;transition-duration:.3s}.pagination .prev{float:left}.pagination .prev:hover{color:#10b981;transform:translateX(-4px)}.pagination .next{float:right}.pagination .next:hover{color:#10b981;transform:translateX(4px)}.footer{margin-top:2em}.footer .social-links{text-align:center}.footer .social-links .iconfont{font-size:30px}.footer .social-links .iconfont+.iconfont{margin-left:10px}.footer .social-links .iconfont:hover{color:#10b981}.footer .copyright{margin:10px 0;color:#374151;text-align:center;font-family:merriweather,georgia,times new roman,serif}.footer .copyright .hexo-link,.footer .copyright .theme-link{color:#10b981}.footer .copyright .copyright-year{display:block}.footer .copyright .copyright-year .heart{font-size:14px;margin:4px}.archive{margin:2em 0;max-width:550px}.archive .archive-title{font-family:merriweather,georgia,times new roman,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:#374151}.archive .collection-title{font-family:merriweather,georgia,times new roman,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 #d1d5db}.archive .archive-post .archive-post-time{margin-right:10px;color:#374151}.archive .archive-post .archive-post-title .archive-post-link{color:#10b981}.archive .archive-post::first-child{margin-top:10px}.archive .archive-post:hover{border-left:3px solid #10b981;transition:.2s ease-out;transform:translateX(4px)}.archive .archive-post:hover .archive-post-time{color:#222933}.archive .archive-post:hover .archive-post-title .archive-post-link{color:#0c8a60}@media screen and (max-width:960px){.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:merriweather,georgia,times new roman,serif}.terms .terms-title{display:inline-block;font-size:18px;color:#10b981;border-bottom:2px solid #10b981}.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:#10b981;font-size:12px}.terms .terms-tags .terms-link:active,.terms .terms-tags .terms-link:focus,.terms .terms-tags .terms-link:hover{color:#10b981;transform:scale(1.1)}.slideout-menu{position:fixed;top:0;left:0;bottom:0;width:180px;min-height:100vh;overflow-y:hidden;-webkit-overflow-scrolling:touch;z-index:0;display:none}.slideout-menu .language-selector{padding-left:30px}.slideout-panel{position:relative;z-index:1;background-color:#fff;min-height:100vh}.slideout-open,.slideout-open body,.slideout-open .slideout-panel{overflow:hidden}.slideout-open .slideout-menu{display:block}.mobile-navbar{display:none;position:fixed;top:0;left:0;width:100%;height:50px;background:#fff;box-shadow:0 2px 2px #d1d5db;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:inter,-apple-system,BlinkMacSystemFont,segoe ui,roboto,helvetica neue,Arial,sans-serif}.mobile-navbar .mobile-navbar-icon{color:#10b981;height:50px;width:50px;font-size:24px;text-align:center;float:left;position:relative;transition:background .5s}@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:#10b981}.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-menu{background-color:rgba(240,253,244,.5)}.mobile-menu .mobile-menu-list{position:relative;list-style:none;margin-top:50px;padding:0;border-top:1px solid #f0fdf4}.mobile-menu .mobile-menu-list .mobile-menu-item{padding:10px 30px;border-bottom:1px solid #f0fdf4}.mobile-menu .mobile-menu-list a{font-size:18px;font-family:merriweather,georgia,times new roman,serif}.mobile-menu .mobile-menu-list a:hover{color:#10b981}@media screen and (max-width:960px){.mobile-navbar{display:block}}.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 screen and (max-width:960px){.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:#10b981}.language-selector{width:max-content}.language-selector .languages-list{padding:0;background:#e3fbea}.language-selector .languages-list .language-item{display:inline-block;list-style-type:none;text-transform:uppercase;font-family:merriweather,georgia,times new roman,serif;font-size:18px;padding:0 10px}.language-selector .languages-list .language-item.active{background:#10b981}.language-selector .languages-list .language-item.active>a{color:#fff}