[data-scheme=light]{}[data-scheme=light] .chroma{color:#272822;background-color:#fafafa}[data-scheme=light] .chroma .err{color:#960050}[data-scheme=light] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}[data-scheme=light] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}[data-scheme=light] .chroma .hl{display:block;width:100%;background-color:#ffc}[data-scheme=light] .chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f}[data-scheme=light] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#7f7f7f}[data-scheme=light] .chroma .k{color:#00a8c8}[data-scheme=light] .chroma .kc{color:#00a8c8}[data-scheme=light] .chroma .kd{color:#00a8c8}[data-scheme=light] .chroma .kn{color:#f92672}[data-scheme=light] .chroma .kp{color:#00a8c8}[data-scheme=light] .chroma .kr{color:#00a8c8}[data-scheme=light] .chroma .kt{color:#00a8c8}[data-scheme=light] .chroma .n{color:#111}[data-scheme=light] .chroma .na{color:#75af00}[data-scheme=light] .chroma .nb{color:#111}[data-scheme=light] .chroma .bp{color:#111}[data-scheme=light] .chroma .nc{color:#75af00}[data-scheme=light] .chroma .no{color:#00a8c8}[data-scheme=light] .chroma .nd{color:#75af00}[data-scheme=light] .chroma .ni{color:#111}[data-scheme=light] .chroma .ne{color:#75af00}[data-scheme=light] .chroma .nf{color:#75af00}[data-scheme=light] .chroma .fm{color:#111}[data-scheme=light] .chroma .nl{color:#111}[data-scheme=light] .chroma .nn{color:#111}[data-scheme=light] .chroma .nx{color:#75af00}[data-scheme=light] .chroma .py{color:#111}[data-scheme=light] .chroma .nt{color:#f92672}[data-scheme=light] .chroma .nv{color:#111}[data-scheme=light] .chroma .vc{color:#111}[data-scheme=light] .chroma .vg{color:#111}[data-scheme=light] .chroma .vi{color:#111}[data-scheme=light] .chroma .vm{color:#111}[data-scheme=light] .chroma .l{color:#ae81ff}[data-scheme=light] .chroma .ld{color:#d88200}[data-scheme=light] .chroma .s{color:#d88200}[data-scheme=light] .chroma .sa{color:#d88200}[data-scheme=light] .chroma .sb{color:#d88200}[data-scheme=light] .chroma .sc{color:#d88200}[data-scheme=light] .chroma .dl{color:#d88200}[data-scheme=light] .chroma .sd{color:#d88200}[data-scheme=light] .chroma .s2{color:#d88200}[data-scheme=light] .chroma .se{color:#8045ff}[data-scheme=light] .chroma .sh{color:#d88200}[data-scheme=light] .chroma .si{color:#d88200}[data-scheme=light] .chroma .sx{color:#d88200}[data-scheme=light] .chroma .sr{color:#d88200}[data-scheme=light] .chroma .s1{color:#d88200}[data-scheme=light] .chroma .ss{color:#d88200}[data-scheme=light] .chroma .m{color:#ae81ff}[data-scheme=light] .chroma .mb{color:#ae81ff}[data-scheme=light] .chroma .mf{color:#ae81ff}[data-scheme=light] .chroma .mh{color:#ae81ff}[data-scheme=light] .chroma .mi{color:#ae81ff}[data-scheme=light] .chroma .il{color:#ae81ff}[data-scheme=light] .chroma .mo{color:#ae81ff}[data-scheme=light] .chroma .o{color:#f92672}[data-scheme=light] .chroma .ow{color:#f92672}[data-scheme=light] .chroma .p{color:#111}[data-scheme=light] .chroma .c{color:#75715e}[data-scheme=light] .chroma .ch{color:#75715e}[data-scheme=light] .chroma .cm{color:#75715e}[data-scheme=light] .chroma .c1{color:#75715e}[data-scheme=light] .chroma .cs{color:#75715e}[data-scheme=light] .chroma .cp{color:#75715e}[data-scheme=light] .chroma .cpf{color:#75715e}[data-scheme=light] .chroma .ge{font-style:italic}[data-scheme=light] .chroma .gs{font-weight:700}[data-scheme=light] .dark-icon{display:none}[data-scheme=dark]{}[data-scheme=dark] .chroma{color:#f8f8f2;background-color:var(--color-bg-200)}[data-scheme=dark] .chroma .err{color:#bb0064}[data-scheme=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}[data-scheme=dark] .chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}[data-scheme=dark] .chroma .hl{display:block;width:100%;background-color:#ffc}[data-scheme=dark] .chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f}[data-scheme=dark] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#7f7f7f}[data-scheme=dark] .chroma .k{color:#66d9ef}[data-scheme=dark] .chroma .kc{color:#66d9ef}[data-scheme=dark] .chroma .kd{color:#66d9ef}[data-scheme=dark] .chroma .kn{color:#f92672}[data-scheme=dark] .chroma .kp{color:#66d9ef}[data-scheme=dark] .chroma .kr{color:#66d9ef}[data-scheme=dark] .chroma .kt{color:#66d9ef}[data-scheme=dark] .chroma .na{color:#a6e22e}[data-scheme=dark] .chroma .nc{color:#a6e22e}[data-scheme=dark] .chroma .no{color:#66d9ef}[data-scheme=dark] .chroma .nd{color:#a6e22e}[data-scheme=dark] .chroma .ne{color:#a6e22e}[data-scheme=dark] .chroma .nf{color:#a6e22e}[data-scheme=dark] .chroma .nx{color:#a6e22e}[data-scheme=dark] .chroma .nt{color:#f92672}[data-scheme=dark] .chroma .l{color:#ae81ff}[data-scheme=dark] .chroma .ld{color:#e6db74}[data-scheme=dark] .chroma .s{color:#e6db74}[data-scheme=dark] .chroma .sa{color:#e6db74}[data-scheme=dark] .chroma .sb{color:#e6db74}[data-scheme=dark] .chroma .sc{color:#e6db74}[data-scheme=dark] .chroma .dl{color:#e6db74}[data-scheme=dark] .chroma .sd{color:#e6db74}[data-scheme=dark] .chroma .s2{color:#e6db74}[data-scheme=dark] .chroma .se{color:#ae81ff}[data-scheme=dark] .chroma .sh{color:#e6db74}[data-scheme=dark] .chroma .si{color:#e6db74}[data-scheme=dark] .chroma .sx{color:#e6db74}[data-scheme=dark] .chroma .sr{color:#e6db74}[data-scheme=dark] .chroma .s1{color:#e6db74}[data-scheme=dark] .chroma .ss{color:#e6db74}[data-scheme=dark] .chroma .m{color:#ae81ff}[data-scheme=dark] .chroma .mb{color:#ae81ff}[data-scheme=dark] .chroma .mf{color:#ae81ff}[data-scheme=dark] .chroma .mh{color:#ae81ff}[data-scheme=dark] .chroma .mi{color:#ae81ff}[data-scheme=dark] .chroma .il{color:#ae81ff}[data-scheme=dark] .chroma .mo{color:#ae81ff}[data-scheme=dark] .chroma .o{color:#f92672}[data-scheme=dark] .chroma .ow{color:#f92672}[data-scheme=dark] .chroma .c{color:#75715e}[data-scheme=dark] .chroma .ch{color:#75715e}[data-scheme=dark] .chroma .cm{color:#75715e}[data-scheme=dark] .chroma .c1{color:#75715e}[data-scheme=dark] .chroma .cs{color:#75715e}[data-scheme=dark] .chroma .cp{color:#75715e}[data-scheme=dark] .chroma .cpf{color:#75715e}[data-scheme=dark] .chroma .gd{color:#f92672}[data-scheme=dark] .chroma .ge{font-style:italic}[data-scheme=dark] .chroma .gi{color:#a6e22e}[data-scheme=dark] .chroma .gs{font-weight:700}[data-scheme=dark] .chroma .gu{color:#75715e}[data-scheme=dark] .light-icon{display:none}:root{--header-height:72px;--grid-gap:24px;--container-width:900px;--theme-transition:0.3s linear}@media(min-width:768px){:root{--grid-gap:32px}}:root{--font-family:pt-sans,system-ui,source-han-sans-cjk-sc,-apple-system,"Segoe UI",
        Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";--font-family-mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;--font-family-quotemark:"Times New Roman",Times,serif}:root{--font-size-xxl:80px;--font-size-xl:52px;--font-size-lg:20px;--font-size-md:16px;--font-size-sm:13px}:root{--radius-md:6px}:root{--color-bg:#fff;--color-bg-100:#f5f5f5;--color-bg-200:#ebebeb;--color-bg-300:#ccc;--color-bg-400:#b3b3b3;--color-fg:#000;--color-fg-200:#333;--color-fg-300:#666;--color-fg-400:#999;--color-red:#b22424;--color-red-transparent:rgba(178,36,36,0.15);--color-border:#e6e6e6;--color-header-bg:hsla(0,0%,100%,.5)}:root[data-scheme=dark]{--color-bg:#363433;--color-bg-100:#101111;--color-bg-200:#18191a;--color-bg-300:#313133;--color-bg-400:#494b4d;--color-fg:#f4f4f6;--color-fg-200:#c2c7ca;--color-fg-300:#78787c;--color-fg-400:#5e6366;--color-red:#ff6161;--color-red-transparent:rgba(255,97,97,0.15);--color-border:#242728;--color-header-bg:rgba(54, 52, 51, .5)}html{font-family:var(--font-family);-webkit-font-smoothing:antialiased;box-sizing:border-box}body{background-color:var(--color-bg);color:var(--color-fg);margin:0;transition:background var(--theme-transition),color var(--theme-transition);font-size:16px}a,strong{color:var(--color-fg)}a{text-decoration:none;transition:color var(--theme-transition)}/*!modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize*/*,::before,::after{box-sizing:border-box}html{line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{margin:0;font-family:system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji}hr{height:0;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,liberation mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.post-intro{max-width:var(--container-width);border-bottom:1px solid var(--color-border);padding:calc(var(--grid-gap)*2)0;margin:0 auto calc(var(--grid-gap)*2)}.post-intro .title{font-size:var(--font-size-xl);font-weight:600;letter-spacing:.01em;line-height:1.0625}.post-intro .description{margin:1rem 0 2rem}.post-intro .meta{display:grid;grid-auto-flow:column;font-size:var(--font-size-sm);color:var(--color-fg-400)}.post-intro .item{display:flex;flex-direction:column;letter-spacing:.01em}.post-intro .item .label{display:block;margin-bottom:.5em}.post-intro .item .value{display:block;color:var(--color-fg);line-height:20px}.page-content{flex:1;padding:var(--header-height)var(--grid-gap)0}@media(min-width:768px){.page-content .contents{grid-template-areas:"left center right"}}.page-content .hero-cover{margin-top:10px}.page-content .hero-cover img{width:100%;max-height:max(60vh,600px);object-fit:cover}.page-content .wrapper{display:grid;grid-template-columns:1fr min(100%,80ch)1fr}.page-content .wrapper>*{grid-column:2}.page-content a{color:var(--color-red)}.page-content a:hover{opacity:.6}.page-content p{font-size:var(--font-size-lg);line-height:1.5;color:var(--color-fg-200);letter-spacing:.02em}.page-content hr{border:none;height:4px;background-color:var(--color-bg-200);width:100px;margin:80px 0}.page-content ul,.page-content ol{padding:0 0 0 2rem}.page-content li{margin:0 0 .8em}.page-content li ul{margin-top:.8em}.page-content blockquote{position:relative;margin:0 0 32px;padding:10px var(--grid-gap);background-color:var(--color-bg-100);border-left:4px solid var(--color-red)}.page-content blockquote p{margin:0}.page-content figure{margin:0}.page-content figcaption{font-size:14px;color:var(--color-fg-300);line-height:1.35;margin-top:.8em;text-align:center}.page-content img{max-width:100%;border-radius:var(--radius-md);overflow:hidden}.page-content table{width:100%;border-collapse:collapse;border-spacing:0;margin-bottom:1.5em;font-size:.96em}.page-content td,.page-content th{text-align:left;padding:6px 8px 6px 10px;border:1px solid var(--color-border)}.page-content td{vertical-align:top}.page-content tr:nth-child(even){background-color:var(--color-bg-200)}.page-content pre{padding:var(--grid-gap)}.page-content code,.page-content pre{text-shadow:none;font-family:var(--font-family-mono);font-size:1em;line-height:1.5;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;overflow:auto}.page-content :not(pre)>code,.page-content pre{border-radius:var(--radius-md)}.page-content :not(pre)>code{display:inline-block;padding:0 .5rem;line-height:24px;margin-bottom:1px;margin-left:2px;margin-right:2px;vertical-align:middle;background:var(--color-bg-200)}.header{position:absolute;width:100%;background-color:var(--color-header-bg);backdrop-filter:saturate(140%)blur(20px);transition:background var(--theme-transition),color var(--theme-transition)}.header.active{background-color:var(--color-bg-100)}.header.active .navigation{height:auto;visibility:visible;margin:var(--grid-gap)0}.header .container{margin:0 auto;padding:0 var(--grid-gap);max-width:var(--container-width)}.header svg path{fill:var(--color-fg)}.header-content{display:grid;align-items:center;grid-template-columns:1fr auto;grid-template-rows:80px auto auto;grid-template-areas:"title actions" "navigation navigation";margin:0 calc(var(--grid-gap)*-1)}@media(min-width:768px){.header-content{grid-template-areas:"title navigation";grid-template-columns:300px 1fr;grid-template-rows:var(--header-height);border-bottom:none}}.header-content .site-title-link{display:flex;align-items:center;grid-area:title;padding-left:var(--grid-gap)}.header-content .navigation{grid-area:navigation;padding:0 var(--grid-gap);height:0;visibility:hidden}.header-content .navigation ul{padding:0}.header-content .navigation li{list-style:none}@media(min-width:768px){.header-content .navigation{margin:0;height:auto;visibility:visible}.header-content .navigation ul{display:flex;flex-direction:row;justify-content:right;gap:10px}}.header-content .navigation .nav-link{padding:0 1rem;font-size:var(--font-size-lg);letter-spacing:.025em;font-weight:500;height:48px;display:flex;align-items:center;border-radius:var(--radius-md);gap:16px}.header-content .navigation .nav-link p{margin:0}.header-content .navigation .nav-link p.use-title{display:block}@media(min-width:768px){.header-content .navigation .nav-link p.use-title{display:none}}.header-content .navigation .nav-link:hover{background-color:rgba(0,0,0,.1)}@media(min-width:768px){.header-content .navigation .nav-link{transition:all .5s ease;color:var(--color-fg);white-space:nowrap}}.header-content .navigation .nav-link.current{background-color:rgba(0,0,0,.1)}.header-content .actions{grid-area:actions;padding-right:var(--grid-gap)}@media(min-width:768px){.header-content .actions{display:none}}.header-content .nav-toggle{position:relative;width:24px;height:20px;transform:rotate(0);transition:transform .5s ease;cursor:pointer;z-index:100;will-change:normal}.header-content .nav-toggle .line{position:absolute;width:100%;height:1px;left:50%;transform:translate(-50%,-50%);background-color:var(--color-fg);transition:transform .5s,opacity .25s;will-change:normal}.header-content .nav-toggle .line:first-child{top:10%}.header-content .nav-toggle .line:nth-child(2){top:50%}.header-content .nav-toggle .line:last-child{top:90%}.header-content .nav-toggle.active{transform:rotate(180deg)}.header-content .nav-toggle.active .line:first-child{top:50%;transform:translate(-50%,-50%)rotate(-45deg)}.header-content .nav-toggle.active .line:nth-child(2){top:50%;opacity:0;transform:translate(-50%,-50%)}.header-content .nav-toggle.active .line:last-child{top:50%;transform:translate(-50%,-50%)rotate(45deg)}.footer{max-width:calc(var(--container-width) - var(--grid-gap) * 2);margin:0 auto;padding:var(--grid-gap);display:flex;flex-direction:column;gap:40px}@media(min-width:768px){.footer{padding:var(--grid-gap)0}}.footer .copyright{font-weight:600;color:var(--color-fg-300)}.footer .powerby,.footer .powerby a{color:var(--color-fg-400)}.footer .powerby a{text-decoration:underline}.footer-rows{display:grid;grid-template-rows:repeat(2,1fr);grid-gap:calc(var(--grid-gap)/2)}.footnotes hr{margin:40px auto}.toc{display:none}@media(min-width:768px){.toc{display:block;grid-area:right;grid-column:3!important}}#TableOfContents{position:sticky;top:var(--header-height)}#TableOfContents ul{padding:0 0 0 1rem;list-style:none}#TableOfContents a{position:relative;color:var(--color-fg-300)}#TableOfContents a.active{color:var(--color-red)}#TableOfContents a.active::before{background-color:var(--color-red)}#TableOfContents a::before{content:"";height:100%;left:-.5rem;position:absolute;width:2px;background-color:var(--color-fg-300)}.comments{padding:var(--grid-gap)0}.archives{display:flex;flex-direction:column;gap:calc(var(--grid-gap)*2);margin-bottom:calc(var(--grid-gap)*2)}.archive-page-header{padding:0;margin:0 auto;max-width:calc(var(--container-width) - var(--grid-gap)*2)}.archive-page-title{font-size:4rem;font-weight:600;padding:calc(var(--grid-gap)*2)0;margin:0}@media(min-width:768px){.archive-page-title{margin-left:240px;padding:calc(var(--grid-gap)*3)0}}.archive-entry{display:grid;align-items:flex-start;padding:0;margin:0 auto;width:100%;max-width:calc(var(--container-width) - var(--grid-gap)*2)}@media(min-width:768px){.archive-entry{grid-template-columns:auto 1fr;gap:200px}}.archive-meta{margin-bottom:var(--grid-gap)}@media(min-width:768px){.archive-meta{position:sticky;top:40px}}.archive-body{display:flex;flex-direction:column;gap:var(--grid-gap)}.archive-item span{color:var(--color-fg-400)}.page-container{margin:0 auto;max-width:var(--container-width)}@media(min-width:768px){.page-container{padding:0 var(--grid-gap)}}.post-hero{max-width:var(--container-width);padding:calc(var(--grid-gap)*2)0}@media(min-width:768px){.post-hero{padding:calc(var(--grid-gap)*2)var(--grid-gap)}}.post-hero .title-link{color:var(--color-fg);box-shadow:0 -4px var(--color-red)inset;transition:all .3s ease;line-height:1.3}.post-hero .title-link:hover{opacity:1;box-shadow:0 -10px var(--color-red)inset}.post-hero .title{font-size:4rem}.post-hero .description{font-size:2rem}.post-hero .summary{font-size:var(--font-size-lg)}.post-hero .readmore{font-weight:500}hr.section-separator{background:var(--color-border);height:1px;width:100%;border:none;margin:0}.blog-list{display:flex;flex-direction:column;gap:40px;margin-bottom:40px}.post-list{display:grid;gap:calc(var(--grid-gap) * 2)}@media(min-width:768px){.post-list{grid-template-columns:repeat(2,1fr);padding:0 var(--grid-gap)}}.post-item .date{font-size:var(--font-size-md);color:var(--color-fg-300)}.post-solo .title{font-size:var(--font-size-lg);margin-top:calc(var(--grid-gap)/4)}.post-solo .description{font-size:var(--font-size-md);margin-bottom:0}