:root{color-scheme:light dark;supported-color-schemes:light dark}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-family:-system-ui,-apple-system,BlinkMacSystemFont,helvetica neue,Helvetica,SimHei,segoe ui,Roboto,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol;font-size:17px;font-weight:400;line-height:1.7}body{display:block;color:#303033;background-color:#fff;margin:0 auto;padding:0;word-wrap:break-word;text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;padding-top:constant(safe-area-inset-top);padding-right:constant(safe-area-inset-right);padding-bottom:constant(safe-area-inset-bottom);padding-left:constant(safe-area-inset-left);padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-block-start:0;margin-block-end:0}h1{font-size:26px}h2{font-size:24px}h3{font-size:22px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}ol,ul{margin-block-start:0;margin-block-end:0;margin-inline-start:0;margin-inline-end:0;padding-inline-start:0;-webkit-margin-before:0;-webkit-margin-after:0;-webkit-margin-start:0;-webkit-margin-end:0;-webkit-padding-start:0}li+li{margin-top:4px}li>:first-child{margin-top:0}li>:last-child{margin-bottom:0}blockquote,q{quotes:none;margin:0}blockquote{margin-bottom:10px;padding:10px;border-left:2px solid #c6c6cc}img{max-width:100%}p{margin-block-start:0;margin-block-end:0;margin-inline-start:0;margin-inline-end:0}mark{background-color:rgba(12,242,143,.2);color:currentColor}code,pre,tt,kbd,samp{font-family:Menlo,Consolas,liberation mono,monospace;font-weight:400}pre{display:block;overflow:auto;font-size:13.6px;line-height:1.45;padding:12px 10px;margin:8px 0;word-wrap:normal;white-space:pre;border-radius:3px;border:1px solid #eee;-o-tab-size:4;-moz-tab-size:4;tab-size:4}code,kbd,tt,samp{display:inline;font-size:15px;padding:2px 4px;border-radius:3px;color:#c7254e;background-color:rgba(199,37,78,5%)}pre>code,pre>kbd,pre>tt,pre>samp{font-size:inherit;color:inherit;background-color:inherit;padding:0;border:0;border-radius:0}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}a{color:#007aff;text-decoration:none;-webkit-tap-highlight-color:transparent;-webkit-text-decoration-skip:objects;-moz-text-decoration-skip:objects;text-decoration-skip:objects}a:hover,a:focus,a:active{text-decoration:underline}figure{margin-block-start:0;margin-block-end:0;margin-inline-start:0;margin-inline-end:0}figcaption>h4,.markdown-body .image-container .caption .title{display:inline-block;color:currentColor;font-size:14px;font-weight:400}svg{max-width:100%}del{opacity:.5}abbr,acronym{cursor:help}b,strong{color:#303033;font-weight:600}.max-width{max-width:730px}.max-body-width{padding-left:20px;padding-right:20px}.base-body{display:block;margin:0 auto}.header{margin:20px 0}.header-wrap,.nav-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:-5px}.header-wrap>*,.nav-wrap>*{margin-top:5px}.header-left-side{display:inline-block;flex-shrink:0}.site-name{display:inline-block;font-weight:600;vertical-align:middle}.home{display:block}.home:hover,.home:focus,.home:active{opacity:.5;text-decoration:none}.site-logo{height:42px;border-radius:3px;vertical-align:middle}.site-slogan{display:inline-block;font-size:85%;color:#8e8e93;vertical-align:middle;margin:0 4px}.site-tag{display:inline-block;font-size:15px;line-height:1;padding:4px 6px;margin:2px 3px 2px 0;white-space:nowrap;color:#f25022;background-color:rgba(242,80,34,5%);border-radius:3px}.site-tag:hover,.site-tag:focus,.site-tag:active{text-decoration:none;background-color:rgba(242,80,34,.5)}.flex-body{margin:0 auto}.footer{text-align:center;font-size:12px;color:#8e8e93;margin:40px 0 20px}.footer p{margin:0}.note-list{margin:0;padding:0;list-style:none}.note-list li{position:relative;width:100%;margin:0;padding:8px 0;border-bottom:1px solid #f0f0f0;word-wrap:break-word}.note-list li:last-child{border:0!important}.note{display:block;color:#8e8e93;text-decoration:none}.note:hover,.note:focus,.note:active{opacity:.5;text-decoration:none}.note-title{font-size:17px;font-weight:600;color:#303033}.note-date,.note-content{font-size:15px}.note-content,.note-imgs,.note-labels{margin-top:4px}.note-imgs{display:flex;flex-direction:row;justify-items:flex-start;margin:4px 0 0;overflow:auto}.note-imgs>img{object-fit:cover;height:80px;min-width:80px;max-width:120px;border-radius:4px;border:1px solid #eee;margin:0 5px 0 0}.note-imgs>img:last-child{margin:0}.article-header{margin:20px 0}.article-date{font-size:14px;color:#8e8e93;margin-top:20px}.article-tag,.article-category{display:inline-block;font-size:15px;line-height:1;padding:4px 6px;margin:2px 3px 2px 0;white-space:nowrap;border-radius:3px}.article-tag{background-color:rgba(0,122,255,5%)}.article-tag:hover,.article-tag:focus,.article-tag:active{background-color:rgba(0,122,255,.5);text-decoration:none}.article-category{color:#3a8c42;background-color:rgba(58,140,66,5%)}.article-category:hover,.article-category:focus,.article-category:active{background-color:rgba(58,140,66,.5);text-decoration:none}.article-labels,.article-license,.article-navigation,.article-discussion{margin-bottom:20px}.article-discussion{border-top:1px dashed #e1e4e8;border-bottom:1px dashed #e1e4e8}.article-navigation p{margin:0}.article-navigation p+p{margin-top:4px}.article-navigation .link{font-weight:600;color:#303033}.article-navigation .li{display:inline-block;border-color:transparent transparent transparent #838387;border-style:solid;border-width:4px;margin-right:4px;vertical-align:middle}.article-license{font-size:15px;text-align:center}.article-category .hashtag,.article-tag .hashtag{font-weight:700;opacity:.5}.pagination{display:block;text-align:center;margin:20px 0 40px}.pagination ul{display:inline-block;list-style:none;font-weight:600;padding:0;margin:0}.pagination ul li{display:inline}.pagination ul li a{color:#007aff;float:left;padding:8px 16px;text-decoration:none}.pagination ul li a.active{background-color:#007aff;color:#fff}.pagination ul li a:hover:not(.active){background-color:rgba(0,122,255,.5)}.markdown-body{display:block;color:#838387;margin:20px 0}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body blockquote,.markdown-body details,.markdown-body dl,.markdown-body ol,.markdown-body hr,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:20px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:#303033;margin-top:24px;margin-bottom:20px}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:1px solid #eaecef}.markdown-body blockquote,.markdown-body q{font-size:15px;color:#303033}.markdown-body blockquote{position:relative;border:0;padding:0 0 0 22px}.markdown-body blockquote::before,.markdown-body blockquote::after,.markdown-body q::before,.markdown-body q::after{color:#c6c6cc}.markdown-body blockquote::before,.markdown-body q::before{content:"❝"}.markdown-body q::after{content:"❞"}.markdown-body blockquote::before{position:absolute;top:0;left:0;font-size:22px;font-weight:600;line-height:1}.markdown-body ol,.markdown-body ul{margin-block-start:0;margin-block-end:20px;margin-inline-start:0;margin-inline-end:0;padding-inline-start:2em;-webkit-margin-before:0;-webkit-margin-after:20px;-webkit-margin-start:0;-webkit-margin-end:0;-webkit-padding-start:2em}.markdown-body li+li{margin-top:0!important}.markdown-body li>:first-child{margin-top:0!important}.markdown-body li>:last-child{margin-bottom:0!important}.markdown-body .image-container{display:block;line-height:1.45;text-align:center}.markdown-body .image-container .link,.markdown-body .image-container .caption{display:block}.markdown-body .image-container .caption{margin-top:8px}.markdown-body figure{text-align:center;margin:0 0 20px}.markdown-body .image-container .img,.markdown-body figure>img{margin:0;border-radius:8px;border:1px solid rgba(0,0,0,.15)}.markdown-body .image-container .caption .title,.markdown-body figcaption>h4{min-width:20%;max-width:80%;min-height:22px;padding:10px 10px 6px;margin:0 auto;border-bottom:1px solid #d9d9d9}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body hr{border-top:1px dashed #a5a5a5;border-right:none;border-bottom:none;border-left:none}.markdown-body table{display:block;width:100%;overflow:auto}.markdown-body table tr{border:0}.markdown-body table th{color:#303033;font-weight:600}.markdown-body table td,.markdown-body table th{min-width:120px;padding:6px 13px;border:1px solid #dfe2e5}.markdown-body table th:empty{padding:0;border:0}.markdown-body .katex,.markdown-body .katex-display,.markdown-body .MathJax,.markdown-body .MathJax_Display{display:inline-block!important;font-size:18px!important;width:auto;margin:0;padding:2px 4px;color:#303033}.markdown-body .MathJax{outline:none}.markdown-body .highlight{margin-top:0;margin-bottom:20px}.markdown-body .highlight .chroma{margin:0}.markdown-body .chroma .lntable{display:table;table-layout:auto;width:100%;font-size:13.6px;border-radius:3px;border:1px solid #eee}.markdown-body .chroma .lntable .lntd{min-width:0;max-width:50px;width:30px}.markdown-body .chroma .lntable tr{border:0}.markdown-body .chroma .lntable tr>td:last-child{width:auto}.markdown-body .chroma .lntable tr>td:last-child>pre{padding-left:0}.markdown-body .chroma .lntable .lntd .lnt{display:block;text-align:right;margin:0;padding:0;overflow:visible;cursor:default;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-body .chroma .lntable pre{font-size:inherit;border-radius:0;border:0;margin:0;width:100%;overflow:auto}@media(max-width:375px){html{font-size:15px}h1{font-size:25px}h2{font-size:23px}h3{font-size:21px}h4{font-size:19px}h5{font-size:17px}h6{font-size:15px}.max-body-width{padding-left:15px;padding-right:15px}}.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}:root{color-scheme:light;supported-color-schemes:light}html{font-family:eb garamond,garamond,times new roman,serif;font-size:19px;font-weight:400;line-height:1.75;-webkit-font-smoothing:antialiased}body{color:#000;background-color:#fff}h1,h2,h3,h4,h5,h6{font-family:eb garamond,garamond,times new roman,serif;font-weight:700;letter-spacing:-.02em;color:#000;line-height:1.15}h1{font-size:2.4rem}h2{font-size:1.8rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.1rem}h6{font-size:1rem}b,strong{color:#000;font-weight:700}a{color:#d00;text-decoration:none;transition:none}a:hover,a:focus,a:active{color:#000;text-decoration:line-through}.max-width{max-width:780px}.max-body-width{padding-left:24px;padding-right:24px}.header{margin:40px 0 0;padding-bottom:20px;border-bottom:4px solid #000}.site-name{font-family:eb garamond,garamond,serif;font-size:1.6rem;font-weight:800;letter-spacing:-.03em;color:#000;text-transform:uppercase}.site-slogan{display:block;font-family:eb garamond,garamond,serif;font-size:.85rem;font-style:italic;color:#666;margin:2px 0 0;letter-spacing:.02em}.home:hover,.home:focus,.home:active{opacity:1;text-decoration:none}.home:hover .site-name{color:#d00}.nav-wrap{margin-top:8px}.site-tag{font-family:eb garamond,garamond,serif;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#000;background-color:initial;border:none;border-bottom:2px solid transparent;border-radius:0;padding:2px 0;margin:0 12px 0 0}.site-tag:hover,.site-tag:focus,.site-tag:active{color:#d00;background-color:initial;border-bottom:2px solid #d00;text-decoration:none}.note-list{margin:0;padding:0}.note-list li{padding:16px 0;border-bottom:1px solid #000}.note-list li:last-child{border-bottom:1px solid #000!important}.note:hover,.note:focus,.note:active{opacity:1;text-decoration:none}.note:hover .note-title{color:#d00}.note-title{font-family:eb garamond,garamond,serif;font-size:1.35rem;font-weight:600;color:#000;letter-spacing:-.01em;line-height:1.3}.note-date{font-family:jetbrains mono,menlo,monospace;font-size:.7rem;color:#888;letter-spacing:.04em}.note-content{font-size:.9rem;color:#444;margin-top:4px;line-height:1.5}.note-labels{margin-top:6px}.article-tag,.article-category{font-family:jetbrains mono,menlo,monospace;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;border-radius:0;padding:2px 6px;margin:2px 4px 2px 0;border:1px solid #ccc}.article-tag{color:#555;background-color:initial}.article-tag:hover,.article-tag:focus,.article-tag:active{color:#fff;background-color:#000;border-color:#000;text-decoration:none}.article-category{color:#d00;background-color:initial;border-color:#d00}.article-category:hover,.article-category:focus,.article-category:active{color:#fff;background-color:#d00;border-color:#d00;text-decoration:none}.hashtag{opacity:.4}.article-header{margin:40px 0 0;padding-bottom:16px;border-bottom:3px solid #000}.article-header h1{margin:0;font-size:2.2rem}.article-date{font-family:jetbrains mono,menlo,monospace;font-size:.75rem;color:#888;letter-spacing:.04em;margin-top:8px}.markdown-body{color:#111;font-size:1rem;margin:28px 0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:#000;margin-top:32px;margin-bottom:16px}.markdown-body h1,.markdown-body h2{border-bottom:2px solid #000;padding-bottom:6px}.markdown-body blockquote{border:0;border-left:4px solid #d00;padding:4px 0 4px 20px;margin:16px 0;font-style:italic;color:#333}.markdown-body blockquote::before,.markdown-body blockquote::after,.markdown-body q::before,.markdown-body q::after{content:none}code,kbd,tt,samp{font-family:jetbrains mono,menlo,consolas,monospace;font-size:.8rem;color:#000;background-color:#f0f0f0;border-radius:0;padding:2px 5px;border:1px solid #ddd}pre{font-family:jetbrains mono,menlo,consolas,monospace;font-size:.78rem;line-height:1.5;background-color:#f5f5f5;border:2px solid #000;border-radius:0;padding:16px;margin:16px 0}pre>code,pre>kbd,pre>tt,pre>samp{border:0;padding:0;background-color:inherit}.markdown-body .image-container .img,.markdown-body figure>img{border-radius:0;border:2px solid #000}.note-imgs>img{border-radius:0;border:1px solid #000}.markdown-body table td,.markdown-body table th{border:1px solid #000;padding:8px 12px}.markdown-body table th{color:#000;font-weight:700;background-color:#f5f5f5}.markdown-body hr{border-top:2px solid #000;margin:32px 0}.article-labels{margin:24px 0;padding-top:16px;border-top:2px solid #000}.article-navigation{padding:16px 0;border-top:1px solid #ccc;margin-bottom:24px}.article-navigation .link{font-weight:600;color:#000;font-size:.95rem}.article-navigation .link:hover{color:#d00}.article-navigation .li{border-color:transparent transparent transparent #d00}.pagination{margin:32px 0 48px}.pagination ul li a{font-family:jetbrains mono,menlo,monospace;font-size:.8rem;color:#000;padding:8px 14px;border:1px solid #000;margin:0 2px}.pagination ul li a.active{background-color:#000;color:#fff;border-color:#000}.pagination ul li a:hover:not(.active){background-color:#d00;color:#fff;border-color:#d00;text-decoration:none}.footer{font-family:jetbrains mono,menlo,monospace;font-size:.65rem;color:#999;margin:48px 0 24px;padding-top:16px;border-top:1px solid #ddd;text-transform:uppercase;letter-spacing:.06em}.footer a{color:#999}.footer a:hover{color:#d00;text-decoration:none}.article-discussion{border-top:2px solid #000;border-bottom:none;padding-top:20px}mark{background-color:rgba(221,0,0,.12);color:#000}::selection{background:#d00;color:#fff}::-moz-selection{background:#d00;color:#fff}.catalogue{margin:32px 0}.catalogue-section{margin-bottom:40px}.catalogue-heading{font-family:eb garamond,garamond,serif;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:#999;border-bottom:1px solid #ccc;padding-bottom:6px;margin:0 0 16px}.catalogue-grid{display:flex;flex-wrap:wrap;gap:8px}.catalogue-item{display:flex;align-items:baseline;gap:8px;padding:8px 14px;border:2px solid #000;text-decoration:none;color:#000}.catalogue-item:hover{background-color:#000;color:#fff;text-decoration:none}.catalogue-item:hover .catalogue-count{color:#d00}.catalogue-name{font-family:eb garamond,garamond,serif;font-size:1.05rem;font-weight:700}.catalogue-count{font-family:jetbrains mono,menlo,monospace;font-size:.65rem;color:#888}.catalogue-tags{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.catalogue-tag{font-family:jetbrains mono,menlo,monospace;font-size:.78rem;color:#555;text-decoration:none;padding:2px 0;border-bottom:1px solid transparent}.catalogue-tag:hover{color:#d00;border-bottom:1px solid #d00;text-decoration:none}.catalogue-tag sup{font-size:.55rem;color:#bbb;margin-left:1px}.catalogue-tag:hover sup{color:#d00}.about-hero{display:flex;align-items:flex-start;gap:32px;margin:8px 0 32px}.about-photo{flex-shrink:0}.about-photo img{width:160px;height:160px;object-fit:cover;border:4px solid #000;transform:rotate(-3deg);transition:transform .2s ease;filter:grayscale(30%)contrast(1.1)}.about-photo img:hover{transform:rotate(0)scale(1.05);filter:grayscale(0%)contrast(1)}.about-intro{padding-top:8px}.about-name{font-family:eb garamond,garamond,serif;line-height:1;margin:0 0 12px;color:#000}.about-iam{display:block;font-family:jetbrains mono,menlo,monospace;font-size:.7rem;font-weight:500;font-style:normal;letter-spacing:.25em;color:#d00;text-transform:uppercase;margin-bottom:2px}.about-levanto{display:block;font-size:2.2rem;font-weight:800;letter-spacing:-.03em;text-transform:uppercase;color:#000;border-bottom:3px solid #000;padding-bottom:4px}.about-tagline{font-family:eb garamond,garamond,serif;font-size:1.15rem;font-style:italic;color:#444;margin:0 0 16px;line-height:1.4}.hidden-link{color:inherit;text-decoration:none;cursor:default}.hidden-link:hover{color:#d00;text-decoration:none;cursor:pointer}.about-links{display:flex;flex-wrap:wrap;gap:6px}.about-links a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:#000;border:2px solid #000;text-decoration:none}.about-links a:hover{background-color:#d00;border-color:#d00;color:#fff;text-decoration:none}.about-links a svg{display:block}@media(max-width:480px){html{font-size:17px}h1{font-size:2rem}h2{font-size:1.5rem}.site-name{font-size:1.3rem}.header{margin:24px 0 0}.note-title{font-size:1.15rem}.article-header h1{font-size:1.8rem}.about-hero{flex-direction:column;align-items:center;text-align:center;gap:20px}.about-links{justify-content:center}.about-levanto{font-size:1.8rem}}