.article-page{min-height:100vh;background:var(--bg-deepest);color:var(--text-primary);font-family:var(--font-sans);overflow-x:hidden}.article-page__content{max-width:var(--width-xl);padding-top:var(--space-xl);padding-bottom:var(--space-3xl)}.article-page__breadcrumb{margin-bottom:var(--space-lg)}.article-page__breadcrumb a{font-size:var(--text-sm);color:var(--text-tertiary);transition:color var(--transition-fast)}.article-page__breadcrumb a:hover{color:var(--accent-light)}.article-page__header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-sm);margin-bottom:var(--space-lg);font-size:var(--text-xs);color:var(--text-tertiary);letter-spacing:var(--tracking-wide);text-transform:uppercase}.article-page__meta-sep{color:var(--text-muted)}.article-page__prose{font-size:var(--text-base);line-height:var(--leading-prose);color:var(--text-primary)}.article-page__prose h1{font-size:clamp(2rem,4.5vw,2.75rem);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:var(--space-sm) 0 var(--space-lg);background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.article-page__prose h2{font-size:var(--heading-3-size);font-weight:var(--heading-3-weight);line-height:var(--leading-snug);letter-spacing:var(--heading-3-tracking);margin:var(--space-2xl) 0 var(--space-md)}.article-page__prose h3{font-size:var(--heading-4-size);font-weight:var(--heading-4-weight);line-height:var(--leading-snug);letter-spacing:var(--heading-4-tracking);margin:var(--space-xl) 0 var(--space-sm);color:var(--text-primary)}.article-page__prose p{margin-bottom:var(--space-md);color:var(--text-secondary)}.article-page__prose p:last-child{margin-bottom:0}.article-page__prose ul,.article-page__prose ol{margin:0 0 var(--space-md) var(--space-lg);color:var(--text-secondary)}.article-page__prose ul li,.article-page__prose ol li{margin-bottom:var(--space-sm);line-height:var(--leading-prose)}.article-page__prose ul{list-style:disc}.article-page__prose ol{list-style:decimal}.article-page__prose strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.article-page__prose a{color:var(--accent-light);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:color var(--transition-fast)}.article-page__prose a:hover{color:var(--accent-hover)}.article-page__prose code{font-family:var(--font-mono);font-size:.9em;padding:2px 6px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);color:var(--accent-light)}.article-page__prose pre{margin:var(--space-md) 0;padding:var(--space-md);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal)}.article-page__prose pre code{padding:0;background:transparent;border:none;border-radius:0;color:var(--text-primary)}.article-page__prose blockquote{margin:var(--space-md) 0;padding:var(--space-sm) var(--space-md);border-left:3px solid var(--accent);color:var(--text-secondary);font-style:italic}.article-page__prose hr{margin:var(--space-2xl) 0;border:0;border-top:1px solid var(--border-subtle)}.article-page__footer{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--border-subtle);display:flex}.article-page__footer .btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--size-btn-sm);text-decoration:none}
