/*
  PaperMod v8+
  License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE
  Copyright (c) 2020 nanxiaobei and adityatelange
  Copyright (c) 2021-2026 adityatelange
*/
:root{--gap:24px;--content-gap:20px;--nav-width:1024px;--main-width:720px;--header-height:60px;--footer-height:60px;--radius:10px;--theme:rgb(255, 255, 255);--entry:rgb(255, 255, 255);--primary:rgb(30, 30, 30);--secondary:rgb(108, 108, 108);--tertiary:rgb(214, 214, 214);--content:rgb(31, 31, 31);--code-block-bg:rgb(28, 29, 33);--code-bg:rgb(245, 245, 245);--border:rgb(153, 153, 153);color-scheme:light}:root[data-theme=dark]{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--code-block-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51);color-scheme:dark}.list{background:var(--code-bg)}[data-theme=dark] .list{background:var(--theme)}*,::after,::before{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;overflow-y:scroll;-webkit-text-size-adjust:100%;text-size-adjust:100%}a,button,body,h1,h2,h3,h4,h5,h6{color:var(--primary)}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,Oxygen,Ubuntu,Cantarell,open sans,helvetica neue,sans-serif;font-size:18px;line-height:1.6;word-break:break-word;background:var(--theme)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section,table{display:block}h1,h2,h3,h4,h5,h6{line-height:1.2}h1,h2,h3,h4,h5,h6,p{margin-top:0;margin-bottom:0}ul{padding:0}a{text-decoration:none}body,figure,ul{margin:0}table{width:100%;border-collapse:collapse;border-spacing:0;overflow-x:auto;word-break:keep-all}button,input,textarea{padding:0;font:inherit;background:0 0;border:0}input,textarea{outline:0}button,input[type=button],input[type=submit]{cursor:pointer}input:-webkit-autofill,textarea:-webkit-autofill{box-shadow:0 0 0 50px var(--theme)inset}img{display:block;max-width:100%}.main{position:relative;min-height:calc(100vh - var(--header-height) - var(--footer-height));max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:var(--gap)}.page-header h1{font-size:40px}.pagination{display:flex}.pagination a{color:var(--theme);font-size:13px;line-height:36px;background:var(--primary);border-radius:calc(36px/2);padding:0 16px}.pagination .next{margin-inline-start:auto}.social-icons a{display:inline-flex;padding:10px}.social-icons a svg{height:26px;width:26px}code{direction:ltr}div.highlight,pre{position:relative}.copy-code{display:none;position:absolute;top:4px;right:4px;color:rgba(255,255,255,.8);background:rgba(78,78,78,.8);border-radius:var(--radius);padding:0 5px;font-size:14px;user-select:none}div.highlight:hover .copy-code,pre:hover .copy-code{display:block}.nav{display:flex;flex-wrap:wrap;justify-content:space-between;max-width:calc(var(--nav-width) + var(--gap) * 2);margin-inline-start:auto;margin-inline-end:auto;line-height:var(--header-height)}.nav a{display:block}.logo,#menu{display:flex;margin:auto var(--gap)}.logo{flex-wrap:inherit}.logo a{font-size:24px;font-weight:700}.logo a img,.logo a svg{display:inline;vertical-align:middle;pointer-events:none;transform:translate(0,-10%);border-radius:6px;margin-inline-end:8px}button#theme-toggle{font-size:26px;margin:auto 4px}[data-theme=dark] #moon{display:none}[data-theme=light] #sun{display:none}#menu{list-style:none;word-break:keep-all;overflow-x:auto;white-space:nowrap}#menu li+li{margin-inline-start:var(--gap)}#menu a{font-size:16px}#menu .active{font-weight:500;border-bottom:2px solid}.lang-switch li,.lang-switch ul,.logo-switches{display:inline-flex;margin:auto 4px}.lang-switch{display:flex;flex-wrap:inherit}.lang-switch a{margin:auto 3px;font-size:16px;font-weight:500}.logo-switches{flex-wrap:inherit}.footer,.top-link{font-size:12px;color:var(--secondary)}.footer{max-width:calc(var(--main-width) + var(--gap) * 2);margin:auto;padding:calc((var(--footer-height) - var(--gap))/2)var(--gap);text-align:center;line-height:24px}.footer span{margin-inline-start:1px;margin-inline-end:1px}.footer span:last-child{white-space:nowrap}.footer a{color:inherit;border-bottom:1px solid var(--secondary)}.footer a:hover{border-bottom:1px solid var(--primary)}.top-link{visibility:hidden;position:fixed;bottom:60px;right:30px;z-index:99;background:var(--tertiary);width:42px;height:42px;padding:12px;border-radius:64px;transition:visibility .5s,opacity .8s linear}.top-link,.top-link svg{filter:drop-shadow(0 0 0 var(--theme))}.footer a:hover,.top-link:hover{color:var(--primary)}.top-link:focus,#theme-toggle:focus{outline:0}.page-header{margin:24px auto var(--content-gap)}.post-description{margin-top:10px;margin-bottom:5px}.post-meta{color:var(--secondary);font-size:14px}.bg{color:#abb2bf;background-color:#282c34}.chroma{color:#abb2bf;background-color:#282c34}.chroma .x{}.chroma .err{}.chroma .cl{}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#474733}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#55595f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#55595f}.chroma .line{display:flex}.chroma .k{color:#c678dd}.chroma .kc{color:#e5c07b}.chroma .kd{color:#c678dd}.chroma .kn{color:#c678dd}.chroma .kp{color:#c678dd}.chroma .kr{color:#c678dd}.chroma .kt{color:#e5c07b}.chroma .n{color:#e06c75}.chroma .na{color:#e06c75}.chroma .nb{color:#e5c07b}.chroma .bp{color:#e06c75}.chroma .nc{color:#e5c07b}.chroma .no{color:#e06c75}.chroma .nd{color:#61afef}.chroma .ni{color:#e06c75}.chroma .ne{color:#e06c75}.chroma .nf{color:#61afef;font-weight:700}.chroma .fm{color:#56b6c2;font-weight:700}.chroma .nl{color:#e06c75}.chroma .nn{color:#e06c75}.chroma .nx{color:#e06c75}.chroma .py{color:#e06c75}.chroma .nt{color:#e06c75}.chroma .nv{color:#e06c75}.chroma .vc{color:#e06c75}.chroma .vg{color:#e06c75}.chroma .vi{color:#e06c75}.chroma .vm{color:#e06c75}.chroma .l{}.chroma .ld{}.chroma .s{color:#98c379}.chroma .sa{color:#98c379}.chroma .sb{color:#98c379}.chroma .sc{color:#98c379}.chroma .dl{color:#98c379}.chroma .sd{color:#98c379}.chroma .s2{color:#98c379}.chroma .se{color:#98c379}.chroma .sh{color:#98c379}.chroma .si{color:#98c379}.chroma .sx{color:#98c379}.chroma .sr{color:#98c379}.chroma .s1{color:#98c379}.chroma .ss{color:#98c379}.chroma .m{color:#d19a66}.chroma .mb{color:#d19a66}.chroma .mf{color:#d19a66}.chroma .mh{color:#d19a66}.chroma .mi{color:#d19a66}.chroma .il{color:#d19a66}.chroma .mo{color:#d19a66}.chroma .o{color:#56b6c2}.chroma .ow{color:#56b6c2}.chroma .p{}.chroma .c{color:#7f848e}.chroma .ch{color:#7f848e}.chroma .cm{color:#7f848e}.chroma .c1{color:#7f848e}.chroma .cs{color:#7f848e}.chroma .cp{color:#7f848e}.chroma .cpf{color:#7f848e}.chroma .g{}.chroma .gd{color:#e06c75}.chroma .ge{}.chroma .gr{}.chroma .gh{}.chroma .gi{color:#98c379;font-weight:700}.chroma .go{}.chroma .gp{}.chroma .gs{}.chroma .gu{}.chroma .gt{}.chroma .gl{}.chroma .w{}.chroma{background-color:unset!important}.chroma .hl{display:flex}.chroma .lnt{padding:0 0 0 12px}.highlight pre.chroma code{padding:8px 0}.highlight pre.chroma .line .cl,.chroma .ln{padding:0 10px}.chroma .lntd:last-of-type{width:100%}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--tertiary);border:5px solid var(--theme);border-radius:var(--radius)}[data-theme=light] .list::-webkit-scrollbar-thumb{border:5px solid var(--code-bg)}::-webkit-scrollbar-thumb:hover{background:var(--secondary)}::-webkit-scrollbar:not(.highlighttable,.highlight table,.gist .highlight){background:var(--theme)}.post-content .highlighttable td .highlight pre code::-webkit-scrollbar{display:none}.post-content :not(table) ::-webkit-scrollbar-thumb{border:2px solid var(--code-block-bg);background:#717175}.post-content :not(table) ::-webkit-scrollbar-thumb:hover{background:#a3a3a5}.gist table::-webkit-scrollbar-thumb{border:2px solid #fff;background:#adadad}.gist table::-webkit-scrollbar-thumb:hover{background:#707070}.post-content table::-webkit-scrollbar-thumb{border-width:2px}@media screen and (min-width:768px){::-webkit-scrollbar{width:19px;height:11px}}@media screen and (max-width:431px){.main{min-height:calc(100vh - var(--header-height) * 2 - var(--footer-height))}}@media screen and (max-width:768px){:root{--gap:14px}.profile img{transform:scale(.85)}.first-entry{min-height:260px}.archive-month{flex-direction:column}.archive-year{margin-top:20px}.footer{padding:calc((var(--footer-height) - var(--gap) - 10px)/2)var(--gap)}}@media screen and (max-width:900px){.list .top-link{transform:translateY(-5rem)}}@media screen and (max-width:340px){.share-buttons{justify-content:unset}}@media(prefers-reduced-motion){.terms-tags a:active,.button:active,.post-entry:active,.top-link,#searchResults .focus,#searchResults li:active{transform:none}}:root{--site-ui-radius:var(--radius);--post-ui-radius:var(--site-ui-radius)}.icon-inline{display:inline-block;width:1em;height:1em;vertical-align:-.15em;flex:none}.post-meta .icon-inline,.entry-footer .icon-inline,.copyright .icon-inline,.post-content .icon-inline{margin:0 4px 0 0}.first-entry{min-height:30px}.logo a img,.logo a svg{margin-inline-end:unset;transform:translate(0,-8%)}.logo a img{width:auto;max-height:30px}.list,.logo,#menu{user-select:none;-webkit-user-select:none}.page-title-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.logo a img,.logo a svg,.post-entry,.entry-cover img,.pagination a,.copy-code,#searchbox input,#searchResults li,.profile .button,.top-link{border-radius:var(--site-ui-radius)}.colophon{--colophon-radius:var(--site-ui-radius, var(--radius));--colophon-soft-border:color-mix(in srgb, var(--border) 70%, transparent);color:var(--content);margin:24px auto 0}.colophon-hero{margin:24px 0 28px}.colophon-title{margin:0;font-size:clamp(2rem,6vw,3.2rem);line-height:1.05;letter-spacing:-.035em}.colophon-intro{max-width:42rem;margin:18px 0 0;color:var(--secondary);font-size:1rem;line-height:1.72}.colophon-intro p{margin:0}.colophon-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 32px}.colophon-filter-card{display:flex;min-height:112px;padding:16px;border:1px solid var(--colophon-soft-border);border-radius:var(--colophon-radius);color:var(--content);background:var(--entry);cursor:pointer;flex-direction:column;justify-content:space-between;text-align:left;transition:border-color .18s ease,background .18s ease}.colophon-filter-card:hover,.colophon-filter-card:focus-visible,.colophon-filter-card.is-active{border-color:color-mix(in srgb,var(--primary) 34%,var(--border));background:color-mix(in srgb,var(--entry) 92%,var(--theme) 8%)}.colophon-filters:has(.colophon-filter-card:hover) .colophon-filter-card.is-active:not(:hover),.colophon-filters:has(.colophon-filter-card:focus-visible) .colophon-filter-card.is-active:not(:focus-visible){border-color:var(--colophon-soft-border);background:var(--entry)}.colophon-filter-card:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 50%,transparent);outline-offset:3px}.colophon-filter-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.colophon-filter-card__label{font-size:1.04rem;font-weight:700}.colophon-filter-card__count{min-width:2.1rem;padding:3px 8px;border-radius:calc(var(--colophon-radius) * .75);color:var(--primary);background:color-mix(in srgb,var(--tertiary) 64%,transparent);font-size:.78rem;font-weight:700;line-height:1.35;text-align:center}.colophon-filter-card__description{color:var(--secondary);font-size:.84rem;line-height:1.55}.colophon-timeline{position:relative;display:grid;gap:18px;margin:0 0 42px}.colophon-timeline::before{position:absolute;top:4px;bottom:4px;left:84px;width:2px;border-radius:var(--colophon-radius);background:linear-gradient(var(--border),color-mix(in srgb,var(--border) 22%,transparent));content:""}.colophon-entry{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px}.colophon-entry[hidden]{display:none}.colophon-entry__axis{position:relative;z-index:1;min-height:28px;padding:4px 32px 0 0;color:var(--secondary);font-size:.84rem;line-height:1.45;text-align:right}.colophon-entry__date{display:block}.colophon-entry__date-axis{display:grid;gap:1px;justify-items:end;white-space:nowrap;word-break:keep-all}.colophon-entry__date-axis--mobile{display:none}.colophon-entry__marker{position:absolute;top:6px;right:5px;width:14px;height:14px;border:3px solid var(--theme);border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--border)}.colophon-entry__body{padding:18px 20px;border:1px solid var(--colophon-soft-border);border-radius:var(--colophon-radius);background:var(--entry)}.colophon-entry__header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:10px}.colophon-entry__category{padding:2px 8px;border-radius:calc(var(--colophon-radius) * .75);background:color-mix(in srgb,var(--tertiary) 60%,transparent);color:var(--primary);font-weight:700}.colophon-entry__title{margin:0;color:var(--primary);font-size:clamp(1.25rem,3.8vw,1.65rem);line-height:1.25}.colophon-entry__summary,.colophon-entry__impact{margin:0;line-height:1.72}.colophon-entry__summary{color:var(--content)}.colophon-entry__summary code,.colophon-entry__bullets code,.colophon-entry__impact code{padding:2px 5px;border-radius:calc(var(--colophon-radius) * .45);color:var(--primary);background:color-mix(in srgb,var(--code-bg) 82%,var(--entry) 18%);font-size:.86em;word-break:keep-all}.colophon-entry__bullets{display:grid;gap:7px;margin:14px 0 0;padding-inline-start:18px;color:var(--secondary);line-height:1.62}.colophon-entry__impact{margin-top:14px;color:var(--secondary);font-size:.94rem}.colophon-entry__tags{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 0;padding:0;list-style:none}.colophon-entry__tags li{padding:3px 8px;border-radius:calc(var(--colophon-radius) * .7);color:var(--secondary);background:color-mix(in srgb,var(--tertiary) 42%,transparent);font-size:.78rem;line-height:1.4}@media(max-width:640px){.colophon{margin-top:18px}.colophon-hero{margin-bottom:22px}.colophon-filters{grid-template-columns:1fr;gap:10px;margin:22px 0 26px}.colophon-filter-card{min-height:96px;padding:14px}.colophon-timeline{gap:14px}.colophon-entry{grid-template-columns:62px minmax(0,1fr);gap:9px}.colophon-timeline::before{left:53px}.colophon-entry__axis{padding:2px 23px 0 0;font-size:.72rem}.colophon-entry__date-axis--desktop{display:none}.colophon-entry__date-axis--mobile{display:grid;gap:2px;justify-items:end;line-height:1.22}.colophon-entry__marker{top:5px;right:3px;width:12px;height:12px;border-width:2px}.colophon-entry__body{padding:15px}}@media(prefers-reduced-motion:reduce){.colophon-filter-card{transition:none}}