@font-face{font-display:swap;font-family:roboto;font-style:normal;font-weight:400;src:url(fonts/Roboto/roboto-v30-latin-regular.eot);src:url(fonts/Roboto/roboto-v30-latin-regular.eot?#iefix)format("embedded-opentype"),url(fonts/Roboto/roboto-v30-latin-regular.woff2)format("woff2"),url(fonts/Roboto/roboto-v30-latin-regular.woff)format("woff"),url(fonts/Roboto/roboto-v30-latin-regular.ttf)format("truetype"),url(fonts/Roboto/roboto-v30-latin-regular.svg#Roboto)format("svg")}*{-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}.notransition{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}html{overflow-x:hidden;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:#2b5225;background-color:#f3efe1;font:16px/1.85 jetbrains mono,consolas,monospace;-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}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:#163a13}hr{border-bottom:0;border-style:solid;border-color:#d4cbb0}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 li{display:list-item;text-align:-webkit-match-parent}ol li{position:relative}ul,ol{margin-top:0;margin-left:30px}li{padding-bottom:1px;padding-top:1px}li:before{color:#163a13}li>ul,li>ol{margin-bottom:2px;margin-top:0}h1,h2,h3,h4,h5,h6{color:#163a13;font-weight:700}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:#b7ab88}a:hover{color:#1f7a1f}a:focus{outline:3px solid rgba(0,54,199,.6);outline-offset:2px}del{color:inherit}em{color:inherit}blockquote{color:#5c7a52;opacity:.9;border-left:5px solid #b7ab88;padding:0 0 0 1rem;margin-left:.3rem;margin-right:.3rem;font-size:1em}blockquote>:last-child{margin-bottom:0;margin-top:0}.wrapper{max-width:-webkit-calc(720px - (30px * 2));max-width:calc(720px - (30px * 2));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:calc(720px - (30px));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:#d2c7c7}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:#163a13;border-bottom:1px solid #d4cbb0}table th,table td,table tr{border:1px solid #d4cbb0;padding:2px 7px}.navbar:after,.wrapper:after{content:"";display:table;clear:both}mark,::selection{background:#fffba0;color:#163a13}.gist table{border:0}.gist table tr,.gist table td{border:0}.navbar{height:auto;max-width:calc(890px - (30px * 2));max-width:-webkit-calc(890px - (30px * 2));position:relative;margin-right:auto;margin-left:auto;border-bottom:1px solid #d4cbb0;padding:.5rem .3rem}.logo{float:left;margin:.5rem 0 0 1rem}.logo>svg{opacity:.7}.logo:hover>svg{opacity:1}@media screen and (max-width:768px){.logo{padding-top:.3rem}}.menu{user-select:none;-ms-user-select:none;-webkit-user-select:none}.menu ul{margin:0}.menu .menu-separator{margin-right:.7rem}@media screen and (max-width:768px){.menu .menu-separator{display:none}}.menu a#mode{-webkit-transform:scale(1,1);transform:scale(1,1);opacity:.7;z-index:1}.menu a#mode:hover{cursor:pointer;opacity:1}.menu a#mode:active{-webkit-transform:scale(.9,.9);transform:scale(.9,.9)}.menu a#mode .mode-moon{display:block}.menu a#mode .mode-moon line{stroke:#163a13;fill:none}.menu a#mode .mode-moon circle{fill:#163a13;stroke:#163a13}.menu a#mode .mode-sunny{display:none}.menu a#mode .mode-sunny line{stroke:#3f3;fill:none}.menu a#mode .mode-sunny circle{fill:none;stroke:#3f3}.menu .trigger{float:right;display:flex;align-items:center}.menu .menu-trigger{display:none}.menu .menu-icon{display:none}.menu li{display:inline-block;margin:0;padding:0;list-style:none}@media screen and (max-width:768px){.menu li{display:block;margin:0;padding:0;list-style:none}}.menu .menu-link{color:#163a13;line-height:2.25;text-decoration:none;padding:.3rem .5rem;opacity:.7;letter-spacing:.015rem}.menu .menu-link:hover{opacity:1}.menu .menu-link:not(:last-child){margin-right:5px}@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:#f3efe1;border-bottom:1px solid #d4cbb0}.menu a#mode{left:10px;top:12px}.menu .menu-icon{display:block;position:absolute;right:0;margin:.7rem .3rem 0 0;cursor:pointer;text-align:center;z-index:1}.menu .menu-icon>svg{opacity:.7}.menu .menu-icon:hover>svg{opacity:1}.menu .menu-icon:active{-webkit-transform:scale(.9,.9);transform:scale(.9,.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;flex-direction:column;justify-content:center;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;-ms-user-select:none;-webkit-user-select:none;-webkit-animation:.5s ease-in forwards fadein;animation:.5s ease-in forwards fadein;opacity:1;object-fit:cover}.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{padding-bottom:.3rem;font-weight:500;color:#163a13}.post-item{display:flex;padding-top:5px;padding-bottom:6px;justify-content:space-between;flex-direction:row;align-items:center}.post-item:not(:first-child){border-top:1px solid #d4cbb0}.post-item .post-item-date{min-width:96px;color:#163a13}@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-size:16px;font-weight:400;letter-spacing:.1px}@media screen and (max-width:768px){.post-item .post-item-title{max-width:15rem}}.post-item .post-item-title a{color:#2b5225;transition:all 150ms ease-in 0s}.post-item .post-item-title a:hover,.post-item .post-item-title afocus{color:#163a13}.footer{margin-top:8em;margin-bottom:2em;text-align:center}@media screen and (max-width:768px){.footer{margin-top:3em}}.footer span.footer_item{opacity:.8;font-weight:700;font-size:14px}.footer a.footer_item{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_copyright{font-size:13px;display:block;color:#5c7a52;opacity:.8;margin-top:.7rem;padding:.3rem .95rem}.footer_social-icons a{text-decoration:none;margin-right:.31rem}.footer_social-icons svg{color:#888a90;height:24px;width:24px}.footer_social-icons svg:hover{color:#ddd}.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:#163a13;text-shadow:1px 0 0 #1f7a1f}.not-found .phrase{color:#2b5225}.not-found .solution{color:#1f7a1f;letter-spacing:.5px}.not-found .solution:hover{color:#0f2b0c}.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:#2b5225;-webkit-appearance:none;font-size:16px;background-color:rgba(128,128,128,.1);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:rgba(128,128,128,.1)}sub,sup{font-size:79%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}kbd{font-size:85%;border-radius:3px;color:#163a13;background:#e6e0c9;display:inline-block;font-family:Consolas,monaco,monospace;line-height:1;padding:2px 4px;white-space:nowrap}mark{background:#ff0;color:#000;border-radius:3px}@media screen and (max-width:768px){.wrapper.post{padding-left:15px;padding-right:15px}}.header{margin-top:7.8em}.header .header-title{font-size:2em;line-height:1.2;margin-top:10px;margin-bottom:20px}.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:#5c7a52}.post-meta time{position:relative;margin-right:1.5em}.post-meta span[itemprop=author]{border-bottom:1px dotted #d4cbb0}.page-content{padding-top:8px}.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:#1f7a1f;text-decoration:none}.page-content a[target=_blank]::after{content:" \2197";font-size:14px;line-height:0;position:relative;bottom:5px;vertical-align:baseline}.page-content a:hover{color:#0f2b0c}.page-content a:focus{color:#1f7a1f}.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{color:#163a13;font-weight:700;margin-top:30px;margin-bottom:0;letter-spacing:.03rem}.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:#1f7a1f;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 h2{font-size:22px}.page-content h3{font-size:20px}.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 #d4cbb0;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:#163a13}.post-nav .post-nav-item:hover .post-title,.post-nav .post-nav-item:focus .post-title{color:#0f2b0c;opacity:.9}.post-nav .post-nav-item .nav-arrow{font-weight:400;font-size:14px;color:#5c7a52;margin-bottom:3px}.post-nav .post-nav-item:nth-child(odd){padding-left:0;padding-right:20px}.post-nav .post-nav-item:nth-child(even){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(even){border-left:0;padding-left:0;border-top:1px solid #d4cbb0}}.post-updated-at{font-family:ubuntu mono,monospace}code{font-family:jetbrains mono,consolas,monospace;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}li>code,p>code{white-space:pre-wrap;font-size:.9em;padding:1px 3px;position:relative;top:-1px;color:#163a13;background-color:#e6e0c9;border-radius:2px;border:1px solid rgba(128,128,128,.1)}pre{background-color:#1a1b21;border-radius:.3rem;padding:.5rem 1rem;display:block;overflow-x:auto}@media screen and (max-width:768px){pre{margin:0 calc(51% - 51vw)}}pre::-webkit-scrollbar{height:.5rem}pre::-webkit-scrollbar-track{background:#606071;border-radius:.1rem}pre::-webkit-scrollbar-thumb{background:#999ea2;border-radius:.3rem}pre::-webkit-scrollbar-thumb:hover{background:#424546}pre>code{color:#fff;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{color:#fbf1c7}.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{color:#b8bb26;font-style:italic}.highlight .si{color:#b8bb26;font-style:italic}.highlight .sr{color:#b8bb26;font-style:italic}.highlight .se{color:#fe8019}.highlight .nn{color:#8ec07c}.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}details{cursor:pointer}.toc{margin:1.1rem 0 1rem;padding:.5rem 1rem;border-radius:.3rem;background-color:#ebe5d2}.toc ul{padding-top:1rem;margin-left:1rem;padding-left:1rem}.toc ul li{margin-bottom:.5em;line-height:1.4}@keyframes fadein{0%{opacity:.2}100%{opacity:1}}@keyframes blur{0%{filter:blur(0)}100%{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}.main-404{padding:9rem 0;text-align:center}@media(prefers-color-scheme:dark){html:not(.light) body{color:#2bcf2b;background-color:#000}html:not(.light) h1,html:not(.light) h2,html:not(.light) h3,html:not(.light) h4,html:not(.light) h5,html:not(.light) h6{color:#3f3}html:not(.light) table thead{color:#3f3;border-color:#123312}html:not(.light) table th,html:not(.light) table td,html:not(.light) table tr{border-color:#123312}html:not(.light) .page-content a{color:#3f3}html:not(.light) .page-content a:hover,html:not(.light) .page-content a:active,html:not(.light) .page-content a:focus{color:#b3ffb3}html:not(.light) .page-content h3{border-color:#123312}html:not(.light) .page-content h1 .anchor-head,html:not(.light) .page-content h2 .anchor-head,html:not(.light) .page-content h3 .anchor-head,html:not(.light) .page-content h4 .anchor-head,html:not(.light) .page-content h5 .anchor-head,html:not(.light) .page-content h6 .anchor-head{color:#3f3}html:not(.light) .toc{background-color:#001400}html:not(.light) #totop{color:#2bcf2b;background-color:#123312}html:not(.light) #totop:hover{background-color:#1a4d1a}html:not(.light) li>code,html:not(.light) p>code{font-size:.9em;padding:1px 3px;position:relative;top:-1px;color:#3f3;background-color:#001a00;border-radius:2px;border:1px solid rgba(128,128,128,.1)}html:not(.light) kbd{color:#3f3;background-color:#001a00}html:not(.light) hr{border-color:#123312}html:not(.light) .post-meta{color:#1f8f1f}html:not(.light) .post-meta time::after{background-color:#123312}html:not(.light) .post-meta span[itemprop=author]{border-color:#123312}html:not(.light) a{color:inherit;text-decoration-color:#1a4d1a}html:not(.light) a:hover{color:#3f3}html:not(.light) a:focus{outline-color:rgba(44,118,246,.6)}html:not(.light) li:before{color:#3f3}html:not(.light) blockquote{color:#1f8f1f;border-color:#1a4d1a}html:not(.light) strong,html:not(.light) b{color:#3f3}html:not(.light) .navbar{border-color:#123312}html:not(.light) .navbar .menu a#mode .mode-sunny{display:block}html:not(.light) .navbar .menu a#mode .mode-moon{display:none}html:not(.light) .navbar .menu .menu-link{color:#3f3}}@media screen and (prefers-color-scheme:dark) and (max-width:768px){html:not(.light) .navbar .menu{background-color:#000;border-color:#123312}html:not(.light) .navbar .menu input[type=checkbox]:checked~.trigger{background:#000}}@media(prefers-color-scheme:dark){html:not(.light) .post-item:not(:first-child){border-color:#123312}html:not(.light) .post-item .post-item-date{color:#3f3}html:not(.light) .post-item .post-item-title a{color:#2bcf2b}html:not(.light) .post-item .post-item-title a:hover,html:not(.light) .post-item .post-item-title afocus{color:#3f3}html:not(.light) .post-nav{border-color:#123312}html:not(.light) .post-nav .post-nav-item{font-weight:700}html:not(.light) .post-nav .post-nav-item .post-title{color:#3f3;opacity:.9}html:not(.light) .post-nav .post-nav-item:hover .post-title,html:not(.light) .post-nav .post-nav-item:focus .post-title{color:#b3ffb3}html:not(.light) .post-nav .post-nav-item .nav-arrow{color:#1f8f1f}}@media screen and (prefers-color-scheme:dark) and (max-width:768px){html:not(.light) .post-nav .post-nav-item:nth-child(even){border-color:#123312}}@media(prefers-color-scheme:dark){html:not(.light) .footer span.footer_item{color:#3f3}html:not(.light) .footer a.footer_item:not(:last-child){color:#3f3}html:not(.light) .footer .footer_copyright{color:#1f8f1f;opacity:1}html:not(.light) .not-found .title{color:#3f3;text-shadow:1px 0 0 #3f3}html:not(.light) .not-found .phrase{color:#2bcf2b}html:not(.light) .not-found .solution{color:#3f3}html:not(.light) .not-found .solution:hover{color:#b3ffb3}html:not(.light) .search-article input[type=search]{color:#2bcf2b}html:not(.light) .search-article input[type=search]::-webkit-input-placeholder{color:rgba(128,128,128,.8)}}html.dark body{color:#2bcf2b;background-color:#000}html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark h5,html.dark h6{color:#3f3}html.dark table thead{color:#3f3;border-color:#123312}html.dark table th,html.dark table td,html.dark table tr{border-color:#123312}html.dark .page-content a{color:#3f3}html.dark .page-content a:hover,html.dark .page-content a:active,html.dark .page-content a:focus{color:#b3ffb3}html.dark .page-content h3{border-color:#123312}html.dark .page-content h1 .anchor-head,html.dark .page-content h2 .anchor-head,html.dark .page-content h3 .anchor-head,html.dark .page-content h4 .anchor-head,html.dark .page-content h5 .anchor-head,html.dark .page-content h6 .anchor-head{color:#3f3}html.dark .toc{background-color:#001400}html.dark #totop{color:#2bcf2b;background-color:#123312}html.dark #totop:hover{background-color:#1a4d1a}html.dark li>code,html.dark p>code{font-size:.9em;padding:1px 3px;position:relative;top:-1px;color:#3f3;background-color:#001a00;border-radius:2px;border:1px solid rgba(128,128,128,.1)}html.dark kbd{color:#3f3;background-color:#001a00}html.dark hr{border-color:#123312}html.dark .post-meta{color:#1f8f1f}html.dark .post-meta time::after{background-color:#123312}html.dark .post-meta span[itemprop=author]{border-color:#123312}html.dark a{color:inherit;text-decoration-color:#1a4d1a}html.dark a:hover{color:#3f3}html.dark a:focus{outline-color:rgba(44,118,246,.6)}html.dark li:before{color:#3f3}html.dark blockquote{color:#1f8f1f;border-color:#1a4d1a}html.dark strong,html.dark b{color:#3f3}html.dark .navbar{border-color:#123312}html.dark .navbar .menu a#mode .mode-sunny{display:block}html.dark .navbar .menu a#mode .mode-moon{display:none}html.dark .navbar .menu .menu-link{color:#3f3}@media screen and (max-width:768px){html.dark .navbar .menu{background-color:#000;border-color:#123312}html.dark .navbar .menu input[type=checkbox]:checked~.trigger{background:#000}}html.dark .post-item:not(:first-child){border-color:#123312}html.dark .post-item .post-item-date{color:#3f3}html.dark .post-item .post-item-title a{color:#2bcf2b}html.dark .post-item .post-item-title a:hover,html.dark .post-item .post-item-title afocus{color:#3f3}html.dark .post-nav{border-color:#123312}html.dark .post-nav .post-nav-item{font-weight:700}html.dark .post-nav .post-nav-item .post-title{color:#3f3;opacity:.9}html.dark .post-nav .post-nav-item:hover .post-title,html.dark .post-nav .post-nav-item:focus .post-title{color:#b3ffb3}html.dark .post-nav .post-nav-item .nav-arrow{color:#1f8f1f}@media screen and (max-width:768px){html.dark .post-nav .post-nav-item:nth-child(even){border-color:#123312}}html.dark .footer span.footer_item{color:#3f3}html.dark .footer a.footer_item:not(:last-child){color:#3f3}html.dark .footer .footer_copyright{color:#1f8f1f;opacity:1}html.dark .not-found .title{color:#3f3;text-shadow:1px 0 0 #3f3}html.dark .not-found .phrase{color:#2bcf2b}html.dark .not-found .solution{color:#3f3}html.dark .not-found .solution:hover{color:#b3ffb3}html.dark .search-article input[type=search]{color:#2bcf2b}html.dark .search-article input[type=search]::-webkit-input-placeholder{color:rgba(128,128,128,.8)}.list-page .post-year{padding-bottom:.5rem}.icon-star{color:orange;height:16px;margin-right:1rem;width:16px;display:block}.post-item-right{margin-left:auto;margin-right:0}:root{--accent:#1f7a1f;--accent-rgb:31, 122, 31;--accent-strong:#163a13;--accent-contrast:#f8f5ea;--surface:#f3efe1;--surface-raised:#ebe5d2;--border:#d4cbb0;--border-strong:#b7ab88;--ink:#163a13;--ink-muted:#5c7a52;--shadow:0 1px 2px rgba(22, 58, 19, 0.08), 0 8px 24px rgba(22, 58, 19, 0.06);--shadow-lift:0 2px 6px rgba(22, 58, 19, 0.12), 0 16px 36px rgba(22, 58, 19, 0.14)}html.dark{--accent:#33ff33;--accent-rgb:51, 255, 51;--accent-strong:#66ff66;--accent-contrast:#000000;--surface:#000000;--surface-raised:#050805;--border:#123312;--border-strong:#1f5c1f;--ink:#33ff33;--ink-muted:#1f8f1f;--shadow:0 0 0 1px rgba(51, 255, 51, 0.06), 0 8px 24px rgba(51, 255, 51, 0.05);--shadow-lift:0 0 0 1px rgba(51, 255, 51, 0.12), 0 0 28px rgba(51, 255, 51, 0.12)}@media(prefers-color-scheme:dark){html:not(.light){--accent:#33ff33;--accent-rgb:51, 255, 51;--accent-strong:#66ff66;--accent-contrast:#000000;--surface:#000000;--surface-raised:#050805;--border:#123312;--border-strong:#1f5c1f;--ink:#33ff33;--ink-muted:#1f8f1f;--shadow:0 0 0 1px rgba(51, 255, 51, 0.06), 0 8px 24px rgba(51, 255, 51, 0.05);--shadow-lift:0 0 0 1px rgba(51, 255, 51, 0.12), 0 0 28px rgba(51, 255, 51, 0.12)}}.wrapper-wide{max-width:calc(940px - (30px * 2))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h2.section-label,.section-label{display:block;font-size:.75rem!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 1.1rem!important;padding:0;border:0}h2.section-heading{font-size:1.4rem!important;line-height:1.3;letter-spacing:-.01em;margin:0 0 .85rem!important;padding:0;border:0}.card-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));margin:0 0 3.4rem}@media screen and (max-width:768px){.card-grid{grid-template-columns:1fr}}.card-grid-3{grid-template-columns:repeat(3,1fr)}@media screen and (max-width:768px){.card-grid-3{grid-template-columns:1fr}}.card-grid-feature{grid-template-columns:1fr 1fr}.card-grid-feature>.tile-primary{grid-column:1/-1;display:flex;align-items:center;gap:20px;padding:22px 24px}.card-grid-feature>.tile-primary .tile-badge{flex:none;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:rgba(var(--accent-rgb),.15);border:1px solid rgba(var(--accent-rgb),.35)}.card-grid-feature>.tile-primary .tile-badge .tile-icon{margin:0;width:23px;height:23px}.card-grid-feature>.tile-primary .tile-body{flex:auto;min-width:0}.card-grid-feature>.tile-primary .tile-title{display:block;font-size:1.2rem;margin-bottom:3px}.card-grid-feature>.tile-primary .tile-desc{display:block;font-size:.93rem;max-width:52ch}.card-grid-feature>.tile-primary .tile-cta{flex:none;padding:11px 20px;border-radius:9px;background:var(--accent);color:var(--accent-contrast);font-size:.92rem;font-weight:700;white-space:nowrap;transition:transform .16s ease}.card-grid-feature>.tile-primary:hover .tile-cta{transform:translateX(3px)}@media screen and (max-width:768px){.card-grid-feature{grid-template-columns:1fr}.card-grid-feature>.tile-primary{grid-column:auto;flex-wrap:wrap;gap:14px}.card-grid-feature>.tile-primary .tile-body{flex-basis:100%;order:3}.card-grid-feature>.tile-primary .tile-cta{margin-left:auto}}.tile{display:block;padding:20px 20px 18px;border:1px solid var(--border);border-radius:14px;background:var(--surface-raised);box-shadow:var(--shadow);text-decoration:none!important;color:inherit!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.tile:hover,.tile:focus-visible{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-lift)}.tile:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.tile .tile-icon{display:block;width:26px;height:26px;margin-bottom:13px;color:var(--accent)}.tile .tile-title{display:flex;align-items:center;gap:7px;margin:0 0 5px;font-size:1.035rem;font-weight:700;line-height:1.35;color:var(--ink)}.tile .tile-desc{margin:0;font-size:.875rem;line-height:1.55;color:var(--ink-muted)}.tile .tile-arrow{font-size:.85em;color:var(--ink-muted);transition:transform .16s ease}.tile:hover .tile-arrow{transform:translateX(3px)}.tile.tile-primary{border-color:var(--accent);background:linear-gradient(180deg,rgba(var(--accent-rgb),.09),rgba(var(--accent-rgb),.02)),var(--surface-raised)}.tile.tile-primary .tile-title{color:var(--accent)}.btn-row{display:flex;flex-wrap:wrap;gap:11px;margin:1.6rem 0 0}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:10px;border:1px solid transparent;font-size:.95rem;font-weight:700;line-height:1.2;text-decoration:none!important;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease}.btn:hover,.btn:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn-primary{background:var(--accent);color:var(--accent-contrast)!important}.btn-primary:hover{background:var(--accent-strong)}.btn-secondary{background:var(--surface-raised);border-color:var(--border-strong);color:var(--ink)!important}.btn-lg{padding:16px 30px;font-size:1.05rem;border-radius:12px}.hero{margin:3.6rem 0 3.2rem;text-align:center}@media screen and (max-width:768px){.hero{margin:2.4rem 0}}.hero .hero-avatar{width:84px;height:84px;border-radius:100%;object-fit:cover;border:1px solid var(--border);background:var(--surface-raised)}.hero .hero-title{margin:1.05rem 0 .5rem;font-size:2.35rem;line-height:1.15;letter-spacing:-.02em}@media screen and (max-width:768px){.hero .hero-title{font-size:1.9rem}}.hero .hero-tagline{margin:0 0 .9rem;font-size:1.02rem;font-weight:600;color:var(--accent)}.hero .hero-sub{max-width:36rem;margin:0 auto;font-size:1.03rem;line-height:1.7;color:var(--ink-muted)}.hero .hero-social{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin-top:1.5rem}.hero .hero-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid transparent;text-decoration:none!important;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.hero .hero-social a:hover,.hero .hero-social a:focus-visible{transform:translateY(-2px);border-color:var(--border-strong);background:var(--surface-raised)}.hero .hero-social a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero .hero-social svg{width:21px;height:21px;color:var(--ink-muted);transition:color .16s ease}.hero .hero-social a:hover svg{color:var(--accent)}.status-chip{display:inline-flex;align-items:center;gap:8px;margin-top:1.35rem;padding:6px 14px 6px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface-raised);font-size:.8rem;font-weight:600;color:var(--ink-muted);text-decoration:none!important}.status-chip .dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.22)}.status-chip .chip-title{color:var(--ink);max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-chip .chip-arrow{color:var(--ink-muted);transition:transform .16s ease}.status-chip:hover,.status-chip:focus-visible{border-color:var(--border-strong)}.status-chip:hover .chip-arrow,.status-chip:focus-visible .chip-arrow{transform:translateX(3px)}.status-chip:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.join-hero{margin:3rem 0 2.6rem}.join-hero .join-eyebrow{display:inline-block;padding:5px 12px;margin-bottom:1rem;border-radius:999px;background:rgba(var(--accent-rgb),.14);color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.join-hero h1{margin:0 0 .65rem;font-size:2.5rem;line-height:1.12;letter-spacing:-.02em}@media screen and (max-width:768px){.join-hero h1{font-size:1.95rem}}.join-hero p{max-width:38rem;margin:0;font-size:1.04rem;color:var(--ink-muted)}.steps{list-style:none;margin:0 0 3.4rem;padding:0;counter-reset:step}.steps>li{position:relative;margin:0;padding:0 0 1.8rem 3.4rem}.steps>li::before{content:"";position:absolute;left:17px;top:34px;bottom:2px;width:2px;background:var(--border)}.steps>li:last-child{padding-bottom:0}.steps>li:last-child::before{display:none}.steps>li .step-num{counter-increment:step;position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--accent);font-size:.92rem;font-weight:800;line-height:1}.steps>li .step-num::before{content:counter(step)}.steps>li h3{margin:5px 0 .35rem;font-size:1.08rem;line-height:1.4}.steps>li p{margin:0;color:var(--ink-muted);font-size:.95rem;line-height:1.68}.invite-box{margin:0 0 3.4rem;padding:30px;border:1px solid var(--accent);border-radius:16px;background:linear-gradient(180deg,rgba(var(--accent-rgb),.1),rgba(var(--accent-rgb),.02)),var(--surface-raised);text-align:center}@media screen and (max-width:768px){.invite-box{padding:24px 18px}}.invite-box h2{margin:0 0 .5rem;font-size:1.5rem;line-height:1.25}.invite-box p{max-width:30rem;margin:0 auto;color:var(--ink-muted);font-size:.96rem}.invite-box .btn-row{justify-content:center}.invite-box .invite-form{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:1.7rem auto 0;max-width:30rem}.invite-box .invite-form input[type=text]{flex:1 1 15rem;min-width:0;padding:15px 18px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink);font-family:jetbrains mono,consolas,monospace;font-size:1.06rem;font-weight:600;letter-spacing:.1em;text-align:center;text-transform:uppercase}.invite-box .invite-form input[type=text]::placeholder{color:var(--ink-muted);opacity:.55;letter-spacing:.1em;font-weight:400}.invite-box .invite-form input[type=text]:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.invite-box .invite-form input[type=text][aria-invalid=true]{border-color:#e5534b;outline-color:#e5534b}.invite-box .invite-form .btn{flex:none}@media screen and (max-width:768px){.invite-box .invite-form .btn{width:100%;justify-content:center}}.invite-box .invite-error{margin:.85rem auto 0;max-width:30rem;color:#e5534b;font-size:.88rem;font-weight:600}.invite-box code{font-family:jetbrains mono,consolas,monospace;font-size:.9em;word-break:break-all}.invite-box .invite-note{display:block;margin-top:1.1rem;font-size:.82rem;color:var(--ink-muted)}.invite-box .invite-note a{color:var(--accent)!important;font-weight:600}.prose{margin-bottom:3.2rem}.prose p{margin:0 0 .95rem;color:var(--ink-muted);line-height:1.75}.prose p:last-child{margin-bottom:0}.faq{margin:0 0 3rem}.faq details{border:1px solid var(--border);border-radius:11px;background:var(--surface-raised);margin-bottom:9px;overflow:hidden}.faq details[open]{border-color:var(--border-strong)}.faq details summary{padding:15px 18px;cursor:pointer;font-weight:650;font-size:.96rem;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}.faq details summary::-webkit-details-marker{display:none}.faq details summary::after{content:"+";flex:none;font-size:1.25rem;font-weight:400;line-height:1;color:var(--ink-muted)}.faq details[open] summary::after{content:"\2212"}.faq details .faq-body{padding:0 18px 16px;font-size:.93rem;line-height:1.7;color:var(--ink-muted)}.faq details .faq-body p{margin:0 0 .7rem}.faq details .faq-body p:last-child{margin-bottom:0}.faq details .faq-body a{color:var(--accent)}.home-updates{margin-bottom:3rem}.home-updates .see-all{display:inline-block;margin-top:1.1rem;font-size:.9rem;font-weight:600}mark,::selection{background:var(--accent);color:var(--accent-contrast)}pre{background-color:var(--surface)!important;border:1px solid var(--border)}pre>code{color:var(--ink)!important}.footer_social-icons svg{color:var(--ink-muted)!important}.footer_social-icons svg:hover{color:var(--accent)!important}a:focus{outline-color:rgba(var(--accent-rgb),.6)!important}