:root{--color-text:#313a3d;--color-text-secondary:#394548;--color-link:#2077b2;--color-link-hover:#369aff;--color-bg:#ffffff;--color-border:#ccc;--color-border-light:#ddd;--color-code-bg:#f8f8f2;--color-heading:#313a3d;--color-nav-text:#313a3d;--color-summary:#2077b2;--color-toc-heading:#3d3d3d;--color-table-header-bg:#f5f5f5;--color-hr:#d8d8d8;--color-footer:#b3b3b3;--color-post-date:inherit;--color-hljs-ln-numbers:#333}*,*:before,*:after{box-sizing:border-box}html{font-size:62.5%}body{font-family:helvetica neue,Arial,hiragino kaku gothic pron,hiragino sans,Meiryo,sans-serif;color:var(--color-text);overflow-wrap:break-word;font-size:1.6rem;max-width:1024px;line-height:1.6;margin:0 auto;padding:2em}header#banner{margin:25px 0}header#banner a{text-decoration:none}header#banner a:hover{text-decoration:underline}header#banner h2{display:inline;font-size:1.4em;margin:0 8px 0 0}header#banner h2 a{color:var(--color-nav-text);text-decoration:none}header#banner nav{display:inline-block}header#banner nav ul{list-style-type:none;font-size:1.05em;text-transform:lowercase;margin:0;padding:0}header#banner nav ul li{display:inline;margin:0 3px}header#banner nav ul li a{color:var(--color-link)}main#content a{color:var(--color-link);text-decoration:none}main#content a:hover{text-decoration:underline}main#content h1{font-size:1.4em}main#content h2{font-size:1.3em;border-bottom:1px solid var(--color-border)}main#content h3{font-size:1.1em}main#content h1+p,main#content h2+p,main#content h3+p,main#content h4+p,main#content h5+p,main#content h6+p{margin-top:5px}main#content p{color:var(--color-text-secondary);margin:16px 0}main#content hr{height:1px;border:0;background:var(--color-hr)}main#content abbr{cursor:help}main#content img{max-width:80%;display:block;height:auto;margin:0 auto .5em}main#content h2:has(+ul#posts){border-bottom:none}main#content ul#posts{list-style-type:none;font-size:1.7rem;margin-top:0;padding:0}main#content ul#posts li{margin:5px 0;padding:0;font-size:1.1em}main#content ul#posts .date{font-size:.9em;margin-left:10px;padding-right:10px}main#content ul#posts li a{text-decoration:none;color:var(--color-nav-text)}main#content ul#posts li a:hover{color:var(--color-link-hover);text-decoration:underline}main#content ul#posts li a:hover .date{color:inherit}main#content header#post-header h1{display:block;font-weight:600;line-height:1.15}main#content header#post-header>div{display:block}main#content #toc{border:1px solid var(--color-border);border-radius:1px;line-height:26px;margin:16px 0;padding:9px 14px}main#content #toc h4{font-size:1.06em;color:var(--color-toc-heading);margin:0}main#content #toc nav#TableOfContents{margin-top:4px}main#content #toc nav#TableOfContents>ul,main#content #toc nav#TableOfContents>ol{margin-left:-40px}main#content #toc ul,main#content #toc ol{font-size:.98em;margin:0;padding:0 0 0 40px}main#content #toc ul{list-style-type:none}main#content #toc ol{counter-reset:item}main#content #toc ol li{display:block}main#content #toc ol li:before{content:counters(item,".")". ";counter-increment:item}main#content figure{margin:16px 0}main#content figure img{display:block;max-width:100%;margin:0 auto}main#content figure figcaption{font-size:.92em;font-style:italic;line-height:22px;text-align:center;margin-top:6px;padding:0 10px}main#content figure figcaption h4{font-style:normal;display:inline;margin:0}main#content figure figcaption p{display:inline;margin:0;padding-left:8px}main#content blockquote{font-style:italic;margin-top:10px;margin-bottom:10px;margin-left:50px;padding-left:15px;border-left:3px solid var(--color-border)}main#content .footnotes{font-size:.9em}main#content pre,main#content code,main#content kbd{font-size:14px;white-space:pre-wrap;word-wrap:break-word;overflow:auto}main#content pre{border:transparent}code,pre,kbd{background-color:var(--color-code-bg);font-family:SFMono-Regular,Consolas,liberation mono,Menlo,monospace}main#content pre code{padding:1em;line-height:154%}main#content pre>code{white-space:pre;word-wrap:break-word}td.hljs-ln-code{border:none;padding-left:10px!important}td.hljs-ln-numbers{border-top:none;border-bottom:none;border-left:none;text-align:right;vertical-align:top;padding-right:10px!important;border-right:1px solid var(--color-border);color:var(--color-hljs-ln-numbers)}table{table-layout:auto;margin:auto;word-break:normal;word-wrap:normal;border-collapse:collapse;border:1px solid var(--color-border-light);margin-bottom:1rem;max-width:100%}table th,table td{border:1px solid var(--color-border-light);padding:6px 10px;text-align:left;overflow:hidden}.table-wrapper{overflow-x:auto;margin-bottom:1rem}table th{background-color:var(--color-table-header-bg);font-weight:700;border-bottom:2px solid var(--color-border-light)}summary{cursor:pointer;color:var(--color-summary)}.katex-display{overflow-x:auto;overflow-y:hidden;max-width:100%}div.post-info{display:inline}.post-categories{display:inline;list-style-type:none;padding:0}.post-categories li{display:inline;margin-left:.3em;margin-right:.3em}.post-tags{display:inline;list-style-type:none;padding:0;margin:0}.post-tags li{display:inline;margin-right:.3em}main#content aside.related-posts ul{font-size:1.6rem;margin-top:0;padding:0;padding-left:1.5em}main#content aside.related-posts li{margin:5px 0;padding:0}main#content aside.related-posts .date{font-size:1em;margin-right:10px}main#content aside.related-posts li a{text-decoration:none}main#content aside.related-posts li a:hover{color:var(--color-link-hover);text-decoration:underline}footer#footer{font-size:1.4rem;font-weight:400;color:var(--color-footer);margin:40px 0}@media(max-width:840px){body{margin:0;max-width:none;overflow-x:hidden;padding-left:25px;padding-right:25px}}@media(max-width:600px){table{font-size:1.4rem}table th,table td{padding:5px 7px}}@media(prefers-color-scheme:dark){:root{--color-text:#ebebeb;--color-text-secondary:#f5f5f5;--color-link:#599ada;--color-link-hover:#21c7ff;--color-bg:#121212;--color-border:#555;--color-border-light:#444;--color-code-bg:#272822;--color-heading:#ebebeb;--color-nav-text:#ebebeb;--color-summary:#599ada;--color-toc-heading:#d4d4d4;--color-table-header-bg:#2a2a2a;--color-hr:#5c5c5c;--color-footer:#b3b3b3;--color-post-date:#a7a7a7;--color-hljs-ln-numbers:#a7a7a7}html{scrollbar-color:#6c6c6c #2e2e2e}body{background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}header#banner a{text-decoration:none}main#content ul#posts .date{color:var(--color-post-date)}main#content header#post-header div{color:var(--color-post-date)}}.chroma{color:#f8f8f2;background-color:#272822}.chroma .err{color:#960050;background-color:#1e0010}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .na{color:#a6e22e}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ne{color:#a6e22e}.chroma .nf{color:#a6e22e}.chroma .nx{color:#a6e22e}.chroma .nt{color:#f92672}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#ae81ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gi{color:#a6e22e}.chroma .gs{font-weight:700}.chroma .gu{color:#75715e}