.article{padding-top:var(--space-6);padding-bottom:var(--space-8)}.article-header{margin-bottom:var(--space-7);padding-bottom:var(--space-6);border-bottom:var(--border-width) solid var(--border-color)}.article-title{font-size:var(--size-3xl);font-weight:var(--weight-medium);line-height:var(--line-tight);color:var(--color-text-primary);margin:0 0 var(--space-4)}.article-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-3)}.article-date{font-weight:var(--weight-normal)}.article-separator{color:var(--color-text-tertiary)}.article-author{font-weight:var(--weight-normal)}.article-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.article-tag{font-size:var(--size-xs);padding:var(--space-1) var(--space-2);background-color:var(--color-bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--color-text-secondary);font-weight:var(--weight-normal)}.article-body{color:var(--color-text-primary);font-size:var(--size-base);line-height:var(--line-relaxed)}.article-body :global(p){margin:0 0 var(--space-4)}.article-body :global(p:last-child){margin-bottom:0}.article-body :global(h2){font-size:var(--size-2xl);font-weight:var(--weight-medium);line-height:var(--line-tight);color:var(--color-text-primary);margin:var(--space-7) 0 var(--space-4)}.article-body :global(h3){font-size:var(--size-xl);font-weight:var(--weight-medium);line-height:var(--line-tight);color:var(--color-text-primary);margin:var(--space-6) 0 var(--space-3)}.article-body :global(h4){font-size:var(--size-lg);font-weight:var(--weight-medium);line-height:var(--line-normal);color:var(--color-text-primary);margin:var(--space-5) 0 var(--space-3)}.article-body :global(ul),.article-body :global(ol){margin:0 0 var(--space-4);padding-left:var(--space-5)}.article-body :global(li){margin-bottom:var(--space-2)}.article-body :global(li:last-child){margin-bottom:0}.article-body :global(li>ul),.article-body :global(li>ol){margin-top:var(--space-2);margin-bottom:0}.article-body :global(blockquote){margin:var(--space-5) 0;padding-left:var(--space-4);border-left:3px solid var(--border-color);color:var(--color-text-secondary);font-style:italic}.article-body :global(blockquote p){margin-bottom:var(--space-3)}.article-body :global(blockquote p:last-child){margin-bottom:0}.article-body :global(code){font-family:var(--font-mono);font-size:.9em;padding:.15em .4em;background-color:var(--color-bg-secondary);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--color-text-primary)}.article-body :global(pre){margin:var(--space-5) 0;padding:var(--space-4);background-color:var(--color-bg-code);border-radius:var(--border-radius);overflow-x:auto;font-size:var(--size-sm);line-height:var(--line-normal)}.article-body :global(pre code){padding:0;background-color:transparent;border:none;font-size:inherit;color:var(--color-text-code)}.article-body :global(img){max-width:100%;height:auto;display:block;margin:var(--space-6) 0;border-radius:var(--border-radius)}.article-body :global(figure){margin:var(--space-6) 0}.article-body :global(figure img){margin:0 0 var(--space-3)}.article-body :global(figcaption){font-size:var(--size-sm);color:var(--color-text-secondary);text-align:center;font-style:italic}.article-body :global(hr){margin:var(--space-7) 0;border:none;border-top:var(--border-width) solid var(--border-color)}.article-body :global(a){color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}.article-body :global(a:hover){color:var(--color-accent-hover);text-decoration-thickness:2px}.article-body :global(strong){font-weight:var(--weight-bold);color:var(--color-text-primary)}.article-body :global(em){font-style:italic}.article-body :global(table){width:100%;margin:var(--space-5) 0;border-collapse:collapse;font-size:var(--size-sm)}.article-body :global(th),.article-body :global(td){padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--border-color);text-align:left}.article-body :global(th){background-color:var(--color-bg-secondary);font-weight:var(--weight-medium)}.article-nav{margin-top:var(--space-8);padding-top:var(--space-6);border-top:var(--border-width) solid var(--border-color);display:flex;justify-content:space-between;gap:var(--space-4)}.article-nav-link{font-size:var(--size-sm);color:var(--color-text-secondary);text-decoration:none}.article-nav-link:hover{color:var(--color-accent);text-decoration:underline}.article-nav-prev:before{content:"← "}.article-nav-next:after{content:" →"}
