.article-progress{position:fixed;top:0;left:0;right:0;height:3px;background:transparent;z-index:50;pointer-events:none}.article-progress span{display:block;width:0;height:100%;background:#2b7d40}.article-layout{display:grid;grid-template-columns:190px minmax(0,650px) 230px;gap:30px;padding-top:55px;padding-bottom:90px;align-items:start}.article-paper{min-width:0}.article-toc,.article-help{position:sticky;top:25px;padding-top:185px}.article-toc h2{font:10px 'Source Code Pro';letter-spacing:1.2px;color:#6a795e;margin:0 0 16px}.article-toc nav a{display:block;color:#718264;font-size:12px;line-height:1.6;border-left:2px solid #e0e5ce;padding:5px 10px;border-radius:0 5px 5px 0;overflow-wrap:anywhere}.article-toc nav a:hover,.article-toc nav a[aria-current]{background:#edf2df;color:#245f33;border-color:#2b7d40}.article-toc .article-back{display:inline-block;color:#2b7d40;margin-top:24px;padding:7px;font-size:12px;border-radius:6px}.article-back:hover{background:#e3ecd6}.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font:10px 'Source Code Pro';color:#77876b;line-height:1.8}.article-meta a{background:#e2edf6;color:#38617f;padding:4px 8px;border-radius:4px}.article-meta a:hover{background:#c8deef}.article-header h1{font:600 38px/1.25 'Source Serif 4';margin:20px 0}.article-deck{font:20px/1.6 'Source Serif 4';color:#53644b!important;margin:0 0 22px}.article-byline{display:flex;align-items:center;gap:10px;border-block:1px solid #d5ddc1;padding:13px 0;margin-bottom:30px}.article-avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#2b7d40;color:#fff;font:12px 'Source Code Pro';flex-shrink:0}.article-byline>div>span{display:block;font-size:13px}.article-byline small{display:block;font-size:10px;color:#829076}.article-copy{margin-left:auto;display:grid;place-items:center;border:1px solid #cbd5b4;border-radius:6px;padding:8px;background:white;color:#607752;cursor:pointer}.article-copy svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.article-copy:hover{background:#e3ecd6}.article-byline #article-copy-state{font-size:10px;color:#2b7d40;max-width:85px}.article-content{overflow-wrap:anywhere}.article-content p,.article-content li{font:18px/1.9 'Source Serif 4';color:#3f5039}.article-content p{margin:0 0 24px}.article-content h1,.article-content h2,.article-content h3,.article-content h4{font-family:'Source Serif 4';font-weight:600;line-height:1.4;scroll-margin-top:25px;margin:35px 0 18px}.article-content h1,.article-content h2{font-size:27px}.article-content h3{font-size:23px}.article-content ul,.article-content ol{padding-left:25px;margin:0 0 25px}.article-content a{background:#edf2df;color:#2b7d40;border-radius:3px;padding:0 3px}.article-content a:hover{background:#d8e7bd}.article-content blockquote{border-left:3px solid #c5dc4e;margin:27px 0;padding:6px 0 6px 20px;font-style:italic}.article-content blockquote p:last-child{margin-bottom:0}.article-content figure{margin:24px 0}.article-content img{display:block;max-width:100%;height:auto;border-radius:12px;margin:20px auto}.article-content figcaption{font:11px/1.7 'Source Code Pro';color:#7e8a70;text-align:center;margin-top:9px}.article-content figure.img-small{max-width:45%}.article-content figure.img-medium{max-width:70%}.article-content figure.img-center{margin-inline:auto}.article-content figure.img-right{margin-left:auto}.article-content pre{padding:20px;background:#edf1e4;border:1px solid #d9dfc7;border-radius:9px;overflow:auto;font:12px/1.8 'Source Code Pro';margin:25px 0}.article-content code{font-family:'Source Code Pro';font-size:.85em}.article-content table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:14px;margin:25px 0}.article-content td,.article-content th{padding:10px;border:1px solid #d9dfbf}.article-content .arithmatex{padding:20px 12px;background:#fff;border:1px solid #d5ddbf;border-radius:10px;margin:25px 0;overflow-x:auto}.article-content .katex-display{margin:0}.article-content hr{border:0;border-top:1px solid #d9dfbf;margin:35px 0}.article-help>div{border:1px solid #edcc9c;background:#fff7eb;padding:17px;border-radius:13px}.article-help h2{font:600 12px 'Source Code Pro';display:flex;align-items:center;gap:9px;line-height:1.5;margin:0 0 16px}.article-help h2 img{width:28px;height:35px;object-fit:contain}.article-help button{display:block;width:100%;text-align:left;background:#fff;border:1px solid #edcc9c;border-radius:7px;padding:10px;margin-top:9px;font-size:12px;line-height:1.5}.article-help button:hover{background:#2b4431;color:#f0f3d6;border-color:#2b4431}.article-related{border-top:1px solid #d5ddc1;margin-top:55px;padding-top:25px}.article-related h2{font:600 20px 'Source Code Pro';margin:0 0 15px}.article-related a{display:flex;justify-content:space-between;gap:20px;border-radius:7px;padding:13px 10px;font:17px 'Source Serif 4';color:#415d38}.article-related a:hover{background:#edf2df}.article-comments{border-top:1px solid #d5ddc1;margin-top:30px;padding-top:20px;font-size:14px}.article-comments summary{cursor:pointer;font:600 16px 'Source Code Pro';padding:10px 0;color:#415d38}.article-comment-list>article{padding:22px 0;border-bottom:1px solid #d9dfbf}.article-comment-list header{display:flex;gap:15px;align-items:center}.article-comment-list time,.article-comment-list small{font-size:11px;color:#829076}.article-comment-list p{font-size:15px;line-height:1.8;white-space:pre-wrap}.article-comments button:not(.outline){border:1px solid #cad2ac;border-radius:5px;background:#fff;color:#2b7d40;padding:6px 10px;font:12px 'Source Sans 3'}.article-comment-reply{margin:15px 0 0 15px;border-left:2px solid #d5ddc1;padding:10px 15px}.article-comment-reply small{margin-left:12px}.article-comments form{padding:25px 0}.article-comments h3{font:600 20px 'Source Serif 4';margin:0 0 20px}.article-comment-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.article-comments label{display:block;margin:13px 0 7px;font-size:12px}.article-comments input:not([type=hidden]),.article-comments textarea{box-sizing:border-box;width:100%;border:1px solid #cad2ac;background:#fff;color:#272523;padding:11px;border-radius:7px;font:14px 'Source Sans 3'}.article-comments textarea{resize:vertical}.article-comments form>small{display:block;font-size:12px;color:#829076;margin:10px 0 18px}.article-comments .outline:hover{background:#2b7d40;border-color:#2b7d40;color:#fff}.article-comments .errorlist{color:#a4382c;padding-left:20px;font-size:12px}.article-neighbors{border-top:1px solid #d5ddc1;padding:35px 0 45px}.article-neighbors>.wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.article-neighbors a{padding:20px 24px;border:1px solid #d5ddc1;background:#fff;border-radius:10px;transition:background-color .2s ease,transform .2s ease}.article-neighbors a:last-child{text-align:right}.article-neighbors a:hover{background:#edf2df;transform:translateY(-3px)}.article-neighbors span{font:10px 'Source Code Pro';color:#7e8c72}.article-neighbors h2{font:18px/1.5 'Source Serif 4';margin:9px 0 0}.article-notices p{padding:16px;background:#e4efd9;border:1px solid #b9c9a6;border-radius:8px;font-size:14px}.public-nav nav a[href='/blog/']{background:#e3ecd6;color:#245f33}
@media(max-width:1100px){.article-layout{grid-template-columns:150px minmax(0,1fr) 210px;gap:22px}.article-header h1{font-size:34px}.article-content p,.article-content li{font-size:17px}.article-help>div{padding:13px}}@media(max-width:900px){.article-layout{grid-template-columns:minmax(0,1fr) 210px;max-width:800px}.article-toc{position:static;padding-top:0;grid-column:1/-1}.article-toc nav>div{display:flex;gap:6px;flex-wrap:wrap}.article-toc nav a{border:1px solid #d5ddc1;border-radius:5px;font-size:11px}.article-toc h2{margin-bottom:10px}.article-toc .article-back{margin-top:10px}.article-help{padding-top:0}}@media(max-width:760px){.article-layout{grid-template-columns:1fr;padding-top:30px;padding-bottom:45px}.article-toc{grid-row:2}.article-paper{grid-row:1}.article-toc{display:none}.article-help{position:static}.article-header h1{font-size:32px}.article-deck{font-size:19px}.article-content p,.article-content li{font-size:17px}.article-content h1,.article-content h2{font-size:25px}.article-meta{font-size:9px;gap:7px}.article-neighbors>.wrap{grid-template-columns:1fr}.article-neighbors a:last-child{text-align:left}.article-comments .article-comment-fields{grid-template-columns:1fr;gap:0}.article-byline{gap:8px}.article-content figure.img-small,.article-content figure.img-medium{max-width:100%}}
@media(prefers-reduced-motion:reduce){.article-neighbors a{transition:none}.article-neighbors a:hover{transform:none}}
.article-content .article-image-fallback{display:grid;place-items:center;min-height:180px;border:1px solid #d5ddc1;background:#eef2dd;border-radius:10px;padding:20px;font:12px 'Source Code Pro';color:#829076;text-align:center}
.article-deck{background:#edf3e4;border:1px solid #dce6ce;border-left:3px solid #7fa75f;border-radius:0 9px 9px 0;padding:18px 21px}
@media(max-width:760px){.article-deck{padding:15px 17px}}
