.blog-article-page{background:var(--bg);padding-bottom:48px}.blog-article-page [hidden]{display:none!important}.blog-article-header{border-bottom:1px solid #dfe7db;margin-bottom:32px;padding:30px 0 32px}.blog-article-kicker{font-size:var(--text-sm);color:var(--slate);margin:0 0 25px}.blog-article-kicker a{color:var(--emerald)}.blog-article-header h1{max-width:34ch;font-size:var(--text-page-title);letter-spacing:-.045em;font-weight:750;line-height:var(--leading-heading);margin:0 0 22px}.blog-article-meta{font-size:var(--text-xs);color:#63735f;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.blog-article-grid{grid-template-columns:minmax(0,1fr) 248px;align-items:start;gap:48px;display:grid}.blog-article-main{min-width:0}.blog-article-page article.post.blog-post{min-width:0;font:var(--text-base)/var(--leading-prose) var(--body);margin:0;padding:0}.blog-article-page .post.blog-post p{line-height:var(--leading-prose);margin:0 0 20px}.blog-article-page .post.blog-post .lead{font-size:var(--text-lg);color:var(--slate);margin-bottom:30px;line-height:1.7}.blog-article-page .post.blog-post h2{font-size:var(--text-2xl);letter-spacing:-.025em;margin:38px 0 16px;scroll-margin-top:110px;font-weight:650;line-height:1.3}.blog-article-page .post.blog-post h3{font-size:var(--text-xl);letter-spacing:-.02em;margin:28px 0 12px;scroll-margin-top:110px;font-weight:650;line-height:1.35}.blog-article-page .post.blog-post :is(h2,h3):first-child{margin-top:0}.blog-article-page .post.blog-post :is(ul,ol){margin:0 0 22px;padding-left:24px}.blog-article-page .post.blog-post li{line-height:var(--leading-prose);margin:8px 0}.blog-article-page .post.blog-post a{text-underline-offset:3px;overflow-wrap:anywhere}.blog-article-page .post.blog-post code{font-family:var(--mono);font-size:var(--text-sm);overflow-wrap:anywhere}.blog-article-page .post.blog-post pre.code{max-width:100%;font-size:var(--text-sm);background:#14261c;border-radius:10px;margin:22px 0;padding:46px 22px 22px;line-height:1.85;overflow-x:auto}.blog-article-page .post.blog-post pre.code code{font-size:inherit;white-space:pre;overflow-wrap:normal}.blog-article-page .post.blog-post pre.code .copy-btn{font-size:var(--text-xs);opacity:1}.blog-article-page .post.blog-post :is(.post-hero,figure img){border:1px solid #dfe7db;border-radius:12px;width:100%;max-width:100%;height:auto;margin:0 0 26px;display:block}.blog-article-page .post.blog-post figure{margin:28px 0}.blog-article-page .post.blog-post :is(figcaption,.bench-note,.post-source,.post-next,.muted){font-size:var(--text-sm);color:var(--slate);line-height:1.7}.blog-article-page .post.blog-post figcaption{margin-top:10px}.blog-article-page .post.blog-post .post-source{border-top:1px solid #dfe7db;margin-top:32px;padding-top:22px}.blog-article-page .post.blog-post .post-feedback{font-size:var(--text-sm);flex-wrap:wrap}.blog-article-page .post.blog-post .post-feedback :is(.q,.thanks){font-size:var(--text-sm)}.blog-article-page .post.blog-post .tablewrap{margin:0;overflow:visible}.blog-article-page .blog-table-scroll{background:#fff;border:1px solid #dfe7db;border-radius:10px;margin:24px 0;overflow-x:auto}.blog-article-page .blog-table-scroll:focus-visible{outline:3px solid color-mix(in srgb, var(--emerald) 33%, transparent);outline-offset:3px}.blog-article-page .post.blog-post table{border-collapse:collapse;width:100%;min-width:600px;font-size:var(--text-sm);margin:0;display:table}.blog-article-page .post.blog-post th{color:#62745f;font:600 var(--text-xs)/1.6 var(--body);text-transform:none;letter-spacing:0;text-align:left;background:#edf2e9;border-bottom:1px solid #dfe7db;padding:13px 16px}.blog-article-page .post.blog-post td{font-size:var(--text-sm);vertical-align:top;border-top:1px solid #e9eee4;padding:15px 16px;line-height:1.6}.blog-article-page .post.blog-post :is(td,th) code{font-size:var(--text-xs)}.blog-article-page .post.blog-post .bench-row{font-size:var(--text-sm);grid-template-columns:158px minmax(0,1fr) 50px}.blog-article-page .post.blog-post .bench-row>*{min-width:0}.blog-article-sidebar{min-width:0;position:sticky;top:94px}.blog-contents-card{background:#fff;border:1px solid #dfe7db;border-radius:12px;padding:22px}.blog-contents-card>p{font-size:var(--text-sm);margin:0 0 15px;font-weight:650}.blog-article-page nav[data-blog-toc]{backdrop-filter:none;background:0 0;border:0;flex-direction:column;gap:4px;max-height:calc(100vh - 245px);padding:0;display:flex;position:static;overflow-y:auto}.blog-article-page nav[data-blog-toc] a{font-size:var(--text-sm);color:#60705d;overflow-wrap:anywhere;padding:7px 0;line-height:1.5;display:block}.blog-article-page nav[data-blog-toc] a:hover{color:var(--emerald)}.blog-archive-link{font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:10px;margin:18px 2px 0;display:flex}.blog-mobile-contents{display:none}.blog-article-bottom{font-size:var(--text-sm);color:var(--slate);border-top:1px solid #dfe7db;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:40px;padding-top:24px;display:flex}.blog-article-bottom a{font-weight:600}@media (width<=900px){.blog-article-grid{grid-template-columns:minmax(0,1fr);gap:0}.blog-article-page .blog-article-sidebar{display:none}.blog-mobile-contents{background:#fff;border:1px solid #dfe7db;border-radius:10px;margin-bottom:26px;padding:16px 20px;display:block}.blog-mobile-contents summary{font-size:var(--text-sm);cursor:pointer;font-weight:600}.blog-mobile-contents[open] nav{margin-top:12px}.blog-article-page .blog-mobile-contents nav{max-height:320px}}@media (width<=640px){.blog-article-header{margin-bottom:24px;padding:24px 0}.blog-article-kicker{margin-bottom:20px;line-height:1.7}.blog-article-header h1{margin-bottom:20px}.blog-article-page .post.blog-post .lead{font-size:var(--text-base)}.blog-article-page .post.blog-post pre.code{font-size:var(--text-xs);padding-left:16px;padding-right:16px}.blog-article-page .post.blog-post .bench-row{font-size:var(--text-xs);grid-template-columns:104px minmax(0,1fr) 44px;gap:6px}}
