.article{max-width:42rem;margin:0 auto;padding:var(--space-xl)var(--space-m)var(--space-l)}.article-header{margin-bottom:var(--space-l)}.article-categories{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-sans);font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-quaternary);margin-bottom:var(--space-s)}.article-title{font-family:var(--font-serif);font-size:2.2rem;font-weight:400;line-height:1.2;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:.75rem}.article-deck{font-family:var(--font-serif);font-size:1.1rem;color:var(--text-tertiary);line-height:1.6;margin-bottom:var(--space-m)}.article-byline{display:flex;align-items:center;gap:.5rem;font-family:var(--font-sans);font-size:.7rem;color:var(--text-quaternary);padding:.8rem 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.article-byline-sep{color:var(--border-default)}.article-byline a{color:var(--text-tertiary);text-decoration:none;transition:color 150ms ease}.article-byline a:hover{color:var(--text-primary)}.article-body{margin-top:var(--space-l)}.article-body>*+*{margin-top:1.3rem}.article-body h1{display:none}.article-body h2{font-family:var(--font-serif);font-size:1.5rem;font-weight:400;color:var(--text-primary);line-height:1.3;letter-spacing:-.01em;margin-top:var(--space-l);margin-bottom:.5rem}.article-body h3{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;color:var(--text-primary);line-height:1.4;margin-top:var(--space-m);margin-bottom:.4rem}.article-body h4{font-family:var(--font-sans);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-top:var(--space-m);margin-bottom:.3rem}.article-body p{font-family:var(--font-serif);font-size:1.05rem;line-height:1.75;color:var(--text-secondary)}.article-body strong{font-weight:600;color:var(--text-primary)}.article-body a{color:var(--text-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:var(--border-default);transition:text-decoration-color 150ms ease}.article-body a:hover{text-decoration-color:var(--text-primary)}.article-body ul,.article-body ol{padding-left:1.3rem;font-family:var(--font-serif);font-size:1.05rem;line-height:1.75;color:var(--text-secondary)}.article-body li{margin-bottom:.4rem}.article-body li strong{color:var(--text-primary)}.article-body blockquote{border-left:2px solid var(--border-default);padding:.8rem 0 .8rem 1.2rem;margin:var(--space-m)0}.article-body blockquote p{font-style:italic;color:var(--text-tertiary);font-size:1.05rem}.article-body code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-surface);color:var(--text-primary);padding:.15rem .4rem;border-radius:3px;border:1px solid var(--border-subtle)}.article-body .highlight{margin:var(--space-m)0;border-radius:6px;overflow:hidden;border:1px solid var(--border-default)}.article-body .highlight pre{margin:0;padding:1.2rem 1.4rem;background:#272822;color:#f8f8f2;font-family:var(--font-mono);font-size:.82rem;line-height:1.6;overflow-x:auto}.article-body .highlight pre code{background:0 0;color:inherit;padding:0;border:none;border-radius:0;font-size:inherit}.article-body .highlight .lntable{width:100%}.article-body .highlight .lntable pre{padding:1.2rem 0}.article-body .highlight .lntable .lntd:first-child pre{padding-left:1rem;padding-right:0}.article-body .highlight .lntable .lntd:last-child pre{padding-left:.6rem;padding-right:1.4rem}.article-body table{width:100%;border-collapse:collapse;margin:var(--space-m)0;font-family:var(--font-serif);font-size:.92rem}.article-body table th{text-align:left;font-weight:500;font-size:.7rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--text-quaternary);padding:.6rem .8rem;border-bottom:1px solid var(--border-default)}.article-body table td{padding:.6rem .8rem;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);vertical-align:top}.article-body table tbody tr:hover{background:var(--bg-surface)}.article-body img{max-width:100%;height:auto;border-radius:4px;margin:var(--space-m)0}.article-body hr{border:none;height:1px;background:var(--border-subtle);margin:var(--space-m)0}.article-tags{margin-top:var(--space-l);padding-top:var(--space-m);border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.article-tags-label{font-family:var(--font-sans);font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-quaternary);margin-right:.3rem}.tag-pill{font-family:var(--font-sans);font-size:.65rem;color:var(--text-tertiary);background:var(--bg-surface);border:1px solid var(--border-subtle);padding:.2rem .6rem;border-radius:3px;text-decoration:none;transition:border-color 150ms ease,color 150ms ease}.tag-pill:hover{border-color:var(--border-default);color:var(--text-primary)}.article-source-link{margin-top:var(--space-s);font-family:var(--font-sans);font-size:.7rem}.article-source-link a{color:var(--text-tertiary);text-decoration:none;transition:color 150ms ease}.article-source-link a:hover{color:var(--text-primary)}.article-more{padding:var(--space-l)0 var(--space-xl)}.article-more .featured-header{margin-bottom:var(--space-l)}.page-header{max-width:var(--page-max);margin:0 auto;padding:var(--space-xl)var(--space-m)var(--space-l)}.page-header .section-label{display:block;margin-bottom:.5rem}.page-title{font-family:var(--font-serif);font-size:2rem;font-weight:400;color:var(--text-primary);letter-spacing:-.02em}.page-description{margin-top:.5rem;font-family:var(--font-serif);font-size:.95rem;color:var(--text-tertiary);max-width:45ch}.list-section{padding:0 0 var(--space-xl)}@media(max-width:48rem){.article-title{font-size:1.7rem}.article-body h2{font-size:1.3rem}.article-byline{gap:.4rem}}@media(max-width:36rem){.article{padding:var(--space-l)var(--space-s)var(--space-m)}.article-title{font-size:1.45rem}.article-body p,.article-body ul,.article-body ol{font-size:1rem}.article-body h2{font-size:1.2rem}.article-body .highlight pre{font-size:.78rem;padding:1rem}.page-header{padding:var(--space-l)var(--space-s)var(--space-m)}.page-title{font-size:1.5rem}}