.article{max-width:720px}.article.article-wide{max-width:960px}.article-header{padding:var(--space-5xl)0 var(--space-2xl)}.article-header h1{font-size:clamp(2rem,6vw,3rem);font-weight:600;letter-spacing:-.02em;margin-bottom:var(--space-sm);color:var(--text-primary)}.article-header time{color:var(--text-muted);font-size:.9375rem;display:block}.article-header .tags{margin-top:var(--space-lg);display:flex;gap:var(--space-sm);flex-wrap:wrap}.article-header .tag{background:0 0;padding:.25rem .875rem;border-radius:999px;font-size:.75rem;color:var(--accent-teal);border:1px solid var(--accent-teal);transition:all .2s ease}.article-header .tag:hover{background:rgba(88,116,130,.15)}.article-content{line-height:1.8;color:var(--text-secondary)}.article-content h2{font-size:1.5rem;color:var(--text-primary);margin-top:var(--space-3xl);margin-bottom:var(--space-md)}.article-content h3{font-size:1.25rem;color:var(--text-primary);margin-top:var(--space-2xl);margin-bottom:var(--space-md)}.article-content p{margin-bottom:var(--space-md)}.article-content a{color:var(--accent-warm);text-decoration:underline;text-decoration-color:var(--accent-decoration);text-underline-offset:2px;transition:text-decoration-color .2s ease}.article-content a:hover{text-decoration-color:var(--accent-warm)}.article-content ul,.article-content ol{margin-left:var(--space-xl);margin-bottom:var(--space-md)}.article-content li{margin-bottom:var(--space-sm)}.article-content blockquote{border-left:3px solid var(--accent-warm);padding-left:var(--space-lg);margin:var(--space-xl)0;color:var(--text-secondary);font-style:italic}.article-content code{background:var(--bg-card);padding:.125rem .375rem;border-radius:4px;font-size:.875em;color:var(--accent-warm)}.article-content pre{background:var(--bg-card);padding:var(--space-lg);border-radius:8px;margin:var(--space-xl)0;overflow-x:auto;border:1px solid var(--border-default)}.article-content pre code{background:0 0;padding:0;color:var(--text-primary)}.article-content img{max-width:100%;border-radius:12px;margin:var(--space-xl)0}.article-content table{width:100%;border-collapse:collapse;margin:var(--space-xl)0;font-size:.9rem}.article-content th,.article-content td{padding:.5rem .75rem;text-align:left;color:var(--text-secondary)}.article-content th{color:var(--text-primary);font-weight:600}.article-content tr+tr td,.article-content tr+tr th{border-top:1px solid var(--border-default)}.article-content td+td,.article-content th+th{border-left:1px solid var(--border-default)}.article-content hr{border:none;border-top:1px solid var(--border-default);margin:var(--space-2xl)0}@media(max-width:768px){.article-header{padding:var(--space-3xl)0 var(--space-xl)}.article-content h2{margin-top:var(--space-2xl)}.article-content h3{margin-top:var(--space-xl)}}