@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap";*{-webkit-transition:background-color 75ms ease-in,border-color 75ms ease-in;-moz-transition:background-color 75ms ease-in,border-color 75ms ease-in;-ms-transition:background-color 75ms ease-in,border-color 75ms ease-in;-o-transition:background-color 75ms ease-in,border-color 75ms ease-in;transition:background-color 75ms ease-in,border-color 75ms ease-in}:root{--color-background: hsl(36, 12.2%, 92%);--color-text: hsl(0, 0%, 11.8%);--color-accent: hsl(192.89999999999998, 75.4%, 25.5%);--font-family: "Inter", sans-serif;--code-font-family: "IBM Plex Mono", monospace}.dark{--color-background: #05010d;--color-text: hsl(202.5, 7%, 77.6%);--color-accent: hsl(215.79999999999995, 76%, 55.9%)}.notransition{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}html{overflow-x:hidden;overflow-y:scroll;width:100%}body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{min-height:100vh;overflow-x:hidden;position:relative;color:var(--color-text);background-color:var(--color-background);font:400 16px/1.85 var(--font-family);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;box-sizing:border-box;font-size:1.1rem;line-height:1.6}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure{margin-top:10px;margin-bottom:10px}strong,b{font-weight:700;color:#0d122b}hr{border-bottom:0;border-style:solid;border-color:#ececec}kbd{-moz-border-radius:3px;-webkit-border-radius:3px;border:1px solid #ececec;border-radius:2px;color:#0d122b;display:inline-block;font-size:14px;line-height:1.4;font-family:var(--font-family);margin:0 .1em;font-weight:700;padding:.01em .4em;text-shadow:0 1px 0 #fff}img{max-width:100%;vertical-align:middle;-webkit-user-drag:none;margin:0 auto;text-align:center}figure{position:relative}figure>img{display:block;position:relative}figcaption{font-size:13px;text-align:center}ul{list-style:none}ul li{display:list-item;text-align:-webkit-match-parent}ul li:before{content:"﹣";display:inline-block;top:-1px;width:1.2em;position:relative;margin-left:-1.3em;font-weight:700}ol{list-style:none;counter-reset:li}ol li{position:relative;counter-increment:li}ol li:before{content:counter(li);display:inline-block;width:1em;margin-right:.5em;margin-left:-1.6em;text-align:right;direction:rtl;font-weight:700;font-size:14px}ul,ol{margin-top:0;margin-left:30px}li{padding-bottom:1px;padding-top:1px}li:before{color:var(--color-accent)}li>ul,li>ol{margin-bottom:2px;margin-top:0}h1,h2,h3,h4,h5,h6{color:var(--color-accent);font-weight:400}h1+ul,h1+ol,h2+ul,h2+ol,h3+ul,h3+ol,h4+ul,h4+ol,h5+ul,h5+ol,h6+ul,h6+ol{margin-top:10px}@media screen and (max-width: 768px){h1,h2,h3,h4,h5,h6{scroll-margin-top:65px}}h1>a,h2>a,h3>a,h4>a,h5>a,h6>a{text-decoration:none;border:none}h1>a:hover,h2>a:hover,h3>a:hover,h4>a:hover,h5>a:hover,h6>a:hover{text-decoration:none;border:none}a{color:inherit;text-decoration-color:var(--color-accent)}a:hover{color:#003fff}a:focus{outline:3px solid rgba(0,54,199,.6);outline-offset:2px}del,em{color:inherit}blockquote{color:var(--color-accent);font-style:italic;text-align:center;opacity:.9;border-top:1px solid #dddddd;border-bottom:1px solid #dddddd;padding:10px;margin-left:10px;margin-right:10px;font-size:1em}blockquote>:last-child{margin-bottom:0;margin-top:0}.wrapper{max-width:-webkit-calc(720px - (30px * 2));max-width:660px;position:relative;margin-right:auto;margin-left:auto;padding-right:30px;padding-left:30px}@media screen and (max-width: 768px){.wrapper{max-width:-webkit-calc(720px - (30px));max-width:690px;padding-right:20px;padding-left:20px}.wrapper.blurry{animation:.2s ease-in forwards blur;-webkit-animation:.2s ease-in forwards blur}}u{text-decoration-color:var(--color-accent)}small{font-size:14px}sup{border-radius:10%;top:-3px;left:2px;font-size:small;position:relative;margin-right:2px}.overflow-table{overflow-x:auto}table{width:100%;margin-top:15px;border-collapse:collapse;font-size:14px}table thead{font-weight:700;color:#0d122b;border-bottom:1px solid #ececec}table th,table td,table tr{border:1px solid #ececec;padding:2px 7px}.post-item:after,.navbar:after,.wrapper:after{content:"";display:table;clear:both}mark,::selection{background:#fffba0;color:#0d122b}.gist table,.gist table tr,.gist table td{border:0}.navbar{height:auto;max-width:830px;max-width:-webkit-calc(890px - (30px * 2));position:relative;margin-right:auto;margin-left:auto;border-bottom:1px solid #ececec;padding:15px 30px}.menu{user-select:none;-ms-user-select:none;-webkit-user-select:none}.menu #mode{float:left;left:8px;top:6px;position:relative;clear:both;-webkit-transform:scale(1,1);transform:scale(1);opacity:.7;z-index:1;background-color:transparent;border:none}.menu #mode:hover{cursor:pointer;opacity:1}.menu #mode:active{-webkit-transform:scale(.9,.9);transform:scale(.9)}.menu #mode .mode-moon{display:block}.menu #mode .mode-moon line{stroke:#0d122b;fill:none}.menu #mode .mode-moon circle{fill:#0d122b;stroke:#0d122b}.menu #mode .mode-sunny{display:none}.menu #mode .mode-sunny line{stroke:#eaeaea;fill:none}.menu #mode .mode-sunny circle{fill:none;stroke:#eaeaea}.menu .trigger{float:right}.menu .menu-trigger,.menu .menu-icon{display:none}.menu .menu-link{color:#0d122b;line-height:2.25;text-decoration:none;padding:5px 8px;opacity:.7;letter-spacing:.3px}.menu .menu-link:hover{opacity:1}.menu .menu-link:not(:last-child){margin-right:5px}.menu .menu-link.rss{position:relative;bottom:-3px;outline:none}@media screen and (max-width: 768px){.menu .menu-link{opacity:.8}}.menu .menu-link.active{opacity:1;font-weight:600}@media screen and (max-width: 768px){.menu{position:fixed;top:0;left:0;right:0;z-index:2;text-align:center;height:50px;background-color:#fff;border-bottom:1px solid #ececec}.menu #mode{left:10px;top:12px}.menu .menu-icon{display:block;position:absolute;right:0;width:50px;height:23px;line-height:0;padding-top:13px;padding-bottom:15px;cursor:pointer;text-align:center;z-index:1}.menu .menu-icon>svg{fill:#0d122b;opacity:.7}.menu .menu-icon:hover>svg{opacity:1}.menu .menu-icon:active{-webkit-transform:scale(.9,.9);transform:scale(.9)}.menu input[type=checkbox]:not(:checked)~.trigger{clear:both;visibility:hidden}.menu input[type=checkbox]:checked~.trigger{position:fixed;animation:.2s ease-in forwards fadein;-webkit-animation:.2s ease-in forwards fadein;display:flex;flex-direction:row;justify-content:center;align-items:center;background-color:#fff;height:100vh;width:100%;top:0}.menu .menu-link{display:block;box-sizing:border-box;font-size:1.1em}.menu .menu-link:not(:last-child){margin:0;padding:2px 0}}.author{margin-top:6.3rem;margin-bottom:7.2rem;text-align:center}@media screen and (max-width: 768px){.author{margin-bottom:3em}}.author .author-avatar{width:70px;height:70px;border-radius:100%;user-select:none;background-color:#0d122b;-ms-user-select:none;-webkit-user-select:none;-webkit-animation:.5s ease-in forwards fadein;animation:.5s ease-in forwards fadein;opacity:1}.author .author-name{font-size:1.7em;margin-bottom:2px}.author .author-bio{margin:0 auto;opacity:.9;max-width:393px;line-height:1.688}.posts-item-note{font-size:16px;margin-bottom:5px}.post-item{display:flex;padding-top:5px;padding-bottom:6px}.post-item:not(:first-child){border-top:1px solid #ececec}.post-item .post-item-date{min-width:96px;color:#0d122b;padding-right:10px;flex-shrink:0}@media screen and (max-width: 768px){.post-item .post-item-date{font-size:16px}}.post-item .post-item-title{margin:0;border:0;padding:0;font-weight:400;letter-spacing:.1px}.post-item .post-item-title a{color:#434648}.post-item .post-item-title a:hover,.post-item .post-item-title afocus{color:#0d122b}.footer{margin-top:8em;margin-bottom:2em;text-align:center}@media screen and (max-width: 768px){.footer{margin-top:3em}}.footer span.footer_item{color:#0d122b;opacity:.8;font-weight:700;font-size:14px}.footer a.footer_item{color:#0d122b;opacity:.8;text-decoration:none}.footer a.footer_item:not(:last-child){margin-right:10px}.footer a.footer_item:not(:last-child):hover{opacity:1}.footer .footer_copyright{font-size:13px;margin-top:3px;display:block;color:#6b7886;opacity:.8}.not-found{text-align:center;display:flex;justify-content:center;flex-direction:column;height:75vh}.not-found .title{font-size:5em;font-weight:700;line-height:1.1;color:#0d122b;text-shadow:1px 0px 0px #003fff}.not-found .phrase{color:#434648}.not-found .solution{color:#003fff;letter-spacing:.5px}.not-found .solution:hover{color:#0036c7}.search-article{position:relative;margin-bottom:50px}.search-article label[for=search-input]{position:relative;top:10px;left:11px}.search-article input[type=search]{top:0;left:0;border:0;width:100%;height:40px;outline:none;position:absolute;border-radius:5px;padding:10px 10px 10px 35px;color:#434648;font-size:16px;background-color:#8080801a;border:1px solid rgba(128,128,128,.1)}.search-article input[type=search]::-webkit-input-placeholder{color:gray}.search-article input[type=search]::-webkit-search-decoration,.search-article input[type=search]::-webkit-search-results-decoration{display:none}#search-results{text-align:center}#search-results li{text-align:left}.archive-tags{height:auto}.archive-tags .tag-item{padding:1px 3px;border-radius:2px;border:1px solid rgba(128,128,128,.1);background-color:#8080801a}@media screen and (max-width: 768px){.wrapper.post{padding-left:15px;padding-right:15px}}.header{margin-top:7.8em;margin-bottom:3em}.header .tags{margin-left:3px;letter-spacing:.5px}.header .tags .tag{font-weight:700;font-size:12px}.header .tags .tag:hover{text-decoration:none}.header .header-title{line-height:1.2;margin-top:10px;margin-bottom:20px;font-weight:700}.header .header-title.center{text-align:center}@media screen and (max-width: 768px){.header .header-title{font-size:1.9em}}.post-meta{padding-top:3px;line-height:1.3;color:#6b7886}.post-meta time{position:relative;margin-right:1.5em}.post-meta time:after{background:#ececec;bottom:1px;content:" ";height:2px;position:absolute;right:-20px;width:12px}.post-meta span[itemprop=author]{border-bottom:1px dotted #ececec}.page-content{padding-top:8px;display:flex;flex-direction:column;gap:1.5rem}.page-content iframe{text-align:center}.page-content figure img{border-radius:2px}.page-content figure figcaption{margin-top:5px;font-style:italic;font-size:14px}.page-content a{color:var(--color-accent)}.page-content a[target=_blank]:after{content:" ↗";font-size:14px;line-height:0;position:relative;bottom:5px;vertical-align:baseline}.page-content a:hover{color:#0036c7}.page-content a:focus{color:#003fff}.page-content>p{margin:0;padding-top:15px;padding-bottom:15px}.page-content ul.task-list{list-style:none;margin:0}.page-content ul.task-list li:before{content:""}.page-content ul.task-list li input[type=checkbox]{margin-right:10px}.page-content dl dt{font-weight:700}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6{font-weight:400;margin-bottom:0;font-size:initial}.page-content h1:hover .anchor-head,.page-content h2:hover .anchor-head,.page-content h3:hover .anchor-head,.page-content h4:hover .anchor-head,.page-content h5:hover .anchor-head,.page-content h6:hover .anchor-head{color:#003fff;opacity:1}.page-content h1 .anchor-head,.page-content h2 .anchor-head,.page-content h3 .anchor-head,.page-content h4 .anchor-head,.page-content h5 .anchor-head,.page-content h6 .anchor-head{position:relative;opacity:0;outline:none}.page-content h1 .anchor-head:before,.page-content h2 .anchor-head:before,.page-content h3 .anchor-head:before,.page-content h4 .anchor-head:before,.page-content h5 .anchor-head:before,.page-content h6 .anchor-head:before{content:"#";position:absolute;right:-3px;width:1em;font-weight:700}.page-content h1{font-size:24px}.page-content h4{font-size:20px}.page-content h5{font-size:16px}.page-content h6{font-size:14px}.post-nav{display:flex;position:relative;margin-top:5em;border-top:1px solid #ececec;line-height:1.4}.post-nav .post-nav-item{border-bottom:0;font-weight:700;padding-bottom:10px;width:50%;padding-top:10px;text-decoration:none;box-sizing:border-box}.post-nav .post-nav-item .post-title{color:#0d122b}.post-nav .post-nav-item:hover .post-title,.post-nav .post-nav-item:focus .post-title{color:#0036c7;opacity:.9}.post-nav .post-nav-item .nav-arrow{font-weight:400;font-size:14px;color:#6b7886;margin-bottom:3px}.post-nav .post-nav-item:nth-child(odd){padding-left:0;padding-right:20px}.post-nav .post-nav-item:nth-child(2n){text-align:right;padding-right:0;padding-left:20px}@media screen and (max-width: 768px){.post-nav{display:block;font-size:14px}.post-nav .post-nav-item{display:block;width:100%}.post-nav .post-nav-item:nth-child(2n){border-left:0;padding-left:0;border-top:1px solid #ececec}.page-content{display:initial}}.post-updated-at{font-family:var(--font-family)}@keyframes fadein{0%{opacity:.2}to{opacity:.8}}@keyframes blur{0%{filter:blur(0px)}to{filter:blur(4px)}}.embed-responsive{height:0;max-width:100%;overflow:hidden;position:relative;padding-bottom:56.25%;margin-top:20px}.embed-responsive iframe,.embed-responsive object,.embed-responsive embed{top:0;left:0;width:100%;height:100%;position:absolute}code{font-family:var(--font-family);text-rendering:optimizeLegibility;font-feature-settings:"calt" 1;font-variant-ligatures:normal;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;font-size:inherit}code.highlighter-rouge{padding:1px 3px;position:relative;top:-1px;background-color:#f6f6f6;border-radius:2px;border:1px solid rgba(128,128,128,.1)}pre.highlight,pre{margin:0 -27px;border:1px solid rgba(128,128,128,.1);background-color:#1a1b21;border-radius:4px;padding:15px 10px;display:block;overflow-x:auto}@media screen and (max-width: 768px){pre.highlight,pre{margin:0 calc(51% - 51vw);padding-left:20px}}pre.highlight>code,pre>code{width:100%;max-width:50rem;margin-left:auto;margin-right:auto;line-height:1.5;display:block;border:0}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight,.highlight .w{color:#fbf1c7}.highlight .err{color:#fb4934;font-weight:700}.highlight .c,.highlight .cd,.highlight .cm,.highlight .c1,.highlight .cs{color:#928374;font-style:italic}.highlight .cp{color:#8ec07c}.highlight .nt{color:#fb4934}.highlight .o,.highlight .ow,.highlight .p,.highlight .pi{color:#fbf1c7}.highlight .gi{color:#b8bb26;background-color:#282828}.highlight .gd{color:#fb4934;background-color:#282828}.highlight .gh{color:#b8bb26;font-weight:700}.highlight .k,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kv{color:#fb4934}.highlight .kc{color:#d3869b}.highlight .kt{color:#fabd2f}.highlight .kd{color:#fe8019}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .sh,.highlight .sx,.highlight .s1,.highlight .si,.highlight .sr{color:#b8bb26;font-style:italic}.highlight .se{color:#fe8019}.highlight .nn,.highlight .nc{color:#8ec07c}.highlight .no{color:#d3869b}.highlight .na{color:#b8bb26}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .il,.highlight .mo,.highlight .mb,.highlight .mx{color:#d3869b}.highlight .ss{color:#83a598}.dark{color:var(--color-text);background-color:#05010d}.dark h1,.dark h2,.dark h3,.dark h4,.dark h5,.dark h6{color:var(--color-accent)}.dark table thead{color:#eaeaea;border-color:#1b1d25}.dark table th,.dark table td,.dark table tr{border-color:#1b1d25}.dark .page-content a{color:var(--color-accent)}.dark .page-content a:hover,.dark .page-content a:active,.dark .page-content a:focus{color:#ff2957}.dark .page-content h3{border-color:#1b1d25}.dark .page-content h1 .anchor-head,.dark .page-content h2 .anchor-head,.dark .page-content h3 .anchor-head,.dark .page-content h4 .anchor-head,.dark .page-content h5 .anchor-head,.dark .page-content h6 .anchor-head{color:#ff5277}.dark .pre[class*=language-]{background-color:#1b1d25}.dark kbd{border-color:#1b1d25;color:#eaeaea;text-shadow:0 1px 0 #131418}.dark hr{border-color:#1b1d25}.dark .post-meta{color:#767f87}.dark .post-meta time:after{background-color:#1b1d25}.dark .post-meta span[itemprop=author]{border-color:#1b1d25}.dark a:hover{color:#ff5277}.dark a:focus{outline-color:#ff527799}.dark blockquote{border-color:#1b1d25}.dark strong,.dark b{color:#eaeaea}.dark .navbar{border-color:#1b1d25}.dark .navbar .menu #mode .mode-sunny{display:block}.dark .navbar .menu #mode .mode-moon{display:none}.dark .navbar .menu .menu-link{color:#eaeaea}@media screen and (max-width: 768px){.dark .navbar .menu{background-color:#131418;border-color:#1b1d25}.dark .navbar .menu .menu-icon>svg{fill:#eaeaea}.dark .navbar .menu input[type=checkbox]:checked~.trigger{background:#131418}}.dark .post-item:not(:first-child){border-color:#1b1d25}.dark .post-item .post-item-date{color:var(--color-text)}.dark .post-item .post-item-title a{color:#c7bebe}.dark .post-item .post-item-title a:hover,.dark .post-item .post-item-title afocus{color:#eaeaea}.dark .post-nav{border-color:#1b1d25}.dark .post-nav .post-nav-item{font-weight:700}.dark .post-nav .post-nav-item .post-title{color:#eaeaea;opacity:.9}.dark .post-nav .post-nav-item:hover .post-title,.dark .post-nav .post-nav-item:focus .post-title{color:#ff2957}.dark .post-nav .post-nav-item .nav-arrow{color:#767f87}@media screen and (max-width: 768px){.dark .post-nav .post-nav-item:nth-child(2n){border-color:#1b1d25}}.dark .footer span.footer_item{color:#eaeaea}.dark .footer a.footer_item:not(:last-child){color:#eaeaea}.dark .footer .footer_copyright{color:#767f87;opacity:1}.dark .not-found .title{color:#eaeaea;text-shadow:1px 0px 0px #ff5277}.dark .not-found .phrase{color:#c7bebe}.dark .not-found .solution{color:#ff5277}.dark .not-found .solution:hover{color:#ff2957}.dark .search-article input[type=search]{color:#c7bebe}.dark .search-article input[type=search]::-webkit-input-placeholder{color:#808080cc}li code,p code{background:none}code,code[class*=language-],pre[class*=language-]{font-family:var(--code-font-family)}article p>code{background:#87837826;border-radius:4px;font-size:85%;padding:.2em .4em}
