.blog-shell{padding:9rem 0 6rem}.blog-header{max-width:77.5rem;padding-bottom:4rem}.blog-header h1{max-width:58rem;margin:1.3rem 0;font-size:clamp(2.8rem,6.5vw,6rem)}.blog-header>p:last-of-type{max-width:43rem;color:var(--text-soft);font-size:1.15rem}.blog-topics{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.blog-topics a{border:1px solid var(--line);border-radius:99rem;padding:.65rem 1rem}.blog-topics a:hover{background:var(--paper);color:var(--ink)}.blog-library section+section{margin-top:5rem}.blog-library h2{margin-bottom:1.5rem}.blog-entry{border-top:1px solid var(--line);padding:2rem 0}.blog-entry>div{max-width:58rem}.blog-entry h3{margin:.5rem 0 .8rem;font-size:clamp(1.45rem,2.7vw,2.1rem);line-height:1.2}.blog-entry h3 a:hover,.article-related a:hover{text-underline-offset:.2em;text-decoration:underline}.blog-entry p:last-child{max-width:48rem;color:var(--text-soft)}.article-header{padding-bottom:3rem}.article-breadcrumbs ol{color:var(--text-soft);flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;font-size:.84rem;display:flex}.article-breadcrumbs li+li:before{content:"/";color:var(--muted);margin-right:.5rem}.article-breadcrumbs a{text-underline-offset:.2em;text-decoration:underline}.article-header h1{max-width:65rem;margin:1rem 0 1.5rem;font-size:clamp(2.55rem,5vw,4.8rem);line-height:1.08}.article-deck{max-width:48rem;color:var(--text-soft);font-size:1.15rem}.article-byline{max-width:55rem;color:var(--text-soft);flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:1.8rem;font-size:.87rem;display:flex}.article-byline a{color:var(--text);text-underline-offset:.2em;text-decoration:underline}.article-layout{border-top:1px solid var(--line);grid-template-columns:minmax(12rem,18rem) minmax(0,46rem);align-items:start;gap:clamp(2rem,5vw,5rem);padding-top:2rem;display:grid}.article-toc{max-height:calc(100dvh - 9rem);padding:.25rem .5rem .5rem 0;font-size:.86rem;position:sticky;top:7rem;overflow:auto}.article-toc nav>p{margin-bottom:.8rem;font-weight:650}.article-toc a{color:var(--text-soft);padding:.4rem 0;line-height:1.45;display:block}.article-toc a:hover{color:#fff;text-decoration:underline}.article-prose{overflow-wrap:anywhere;min-width:0;font-size:1.08rem;line-height:1.8}.article-prose>p,.article-prose>ul,.article-prose>ol{margin-bottom:1.3rem}.article-prose h2{letter-spacing:-.025em;margin:3rem 0 1.1rem;scroll-margin-top:7rem;font-size:clamp(1.7rem,2.5vw,2.3rem);line-height:1.2}.article-prose h3{margin:2rem 0 1rem;font-size:1.35rem;line-height:1.3}.article-prose a{color:#a8beff;text-underline-offset:.2em;text-decoration:underline}.article-prose a:hover{color:#fff}.article-prose ul{padding-left:1.35rem;list-style:outside}.article-prose ol{padding-left:1.35rem;list-style:decimal}.article-prose li{margin-bottom:.55rem;padding-left:.2rem}.article-prose strong{color:var(--paper-bright);font-weight:650}.article-prose code{background:var(--ink-soft);border:1px solid var(--line);padding:.1rem .3rem;font-size:.9em}.article-table{border:1px solid var(--line);border-radius:.4rem;width:100%;margin:1.8rem 0;overflow-x:auto}.article-table table{border-collapse:collapse;width:100%;min-width:30rem;font-size:.92rem;line-height:1.65}.article-table th,.article-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:1rem}.article-table th{background:var(--ink-soft);font-weight:650}.article-table tr:last-child td{border-bottom:0}.article-author{border-top:1px solid var(--line);color:var(--text-soft);margin-top:3rem;padding-top:1rem;font-size:.95rem}.article-author h2{margin-top:1rem;font-size:1.5rem}.article-related{border-top:1px solid var(--line);margin-top:5rem;padding-top:3rem}.article-related ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem;display:grid}.article-related li>a{font-size:1.15rem;font-weight:650;line-height:1.4}.article-related li>p{color:var(--text-soft);margin-top:.8rem;font-size:.93rem}@media (max-width:900px){.article-layout{grid-template-columns:1fr}.article-toc{border-bottom:1px solid var(--line);max-height:none;padding-bottom:1.5rem;position:static}.article-toc ol{columns:2;column-gap:1.5rem}.article-toc li{break-inside:avoid}.article-related ul{grid-template-columns:1fr}}@media (max-width:560px){.blog-shell{padding-top:7rem}.blog-shell .site-container{width:calc(100% - 2.5rem)}.article-toc ol{columns:1}.article-prose{font-size:1rem;line-height:1.8}.article-breadcrumbs li:last-child{display:none}}
