.article-wrapper{position:relative;z-index:1;max-width:740px;margin:0 auto;padding:8rem 2rem 4rem}.article-back{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;margin-bottom:2.5rem;transition:color .3s ease,gap .3s ease}.article-back:hover{color:var(--accent);gap:.7rem}.article-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.article-date{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.article-tag{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding:.2rem .5rem;border:1px solid var(--accent-dim);background:var(--accent-dim)}.article-read-time{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.article-title{font-family:var(--font-sans);font-size:clamp(2rem,5vw,2.8rem);font-weight:200;line-height:1.2;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:1rem}.article-subtitle{font-size:1.1rem;color:var(--text-secondary);line-height:1.75;font-weight:300;margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--border)}.prose{color:var(--text-secondary);font-size:1.02rem;line-height:1.85;font-weight:300}.prose>*+*{margin-top:1.5rem}.prose h2{font-family:var(--font-sans);font-size:1.6rem;font-weight:400;color:var(--text-primary);letter-spacing:-.01em;margin-top:3rem;margin-bottom:.5rem;padding-top:2rem;border-top:1px solid var(--border)}.prose h2 .hash{color:var(--accent);font-family:var(--font-mono);font-weight:400;margin-right:.4rem;font-size:.85em}.prose h3{font-family:var(--font-sans);font-size:1.2rem;font-weight:500;color:var(--text-primary);margin-top:2.5rem;margin-bottom:.25rem}.prose p{color:var(--text-secondary)}.prose strong{color:var(--text-primary);font-weight:500}.prose em{font-style:italic;color:var(--text-secondary)}.prose a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent-dim);transition:border-color .3s ease}.prose a:hover{border-bottom-color:var(--accent)}.prose code{font-family:var(--font-mono);font-size:.85em;color:var(--accent-cyan);background:var(--bg-card);border:1px solid var(--border);padding:.15rem .4rem;border-radius:2px}.prose pre{background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--accent);padding:1.5rem;overflow-x:auto;margin-top:1.5rem;margin-bottom:1.5rem;position:relative}.prose pre code{background:0 0;border:none;padding:0;color:var(--text-primary);font-size:.82rem;line-height:1.7}.prose pre .code-lang{position:absolute;top:0;right:0;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:.35rem .75rem;background:var(--bg-card);border-bottom:1px solid var(--border);border-left:1px solid var(--border)}.prose pre .keyword{color:var(--accent-cyan)}.prose pre .string{color:var(--accent)}.prose pre .comment{color:var(--text-muted);font-style:italic}.prose pre .function{color:var(--accent-warm)}.prose pre .number{color:#f59e0b}.prose pre .operator{color:var(--text-secondary)}.prose blockquote{border-left:3px solid var(--accent-warm);background:rgba(196,154,108,6%);padding:1.25rem 1.5rem;margin:2rem 0;position:relative}.prose blockquote p{color:var(--text-secondary);font-style:italic;font-size:1rem;line-height:1.8}.prose blockquote cite{display:block;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);font-style:normal;margin-top:.75rem}.prose blockquote cite::before{content:'\2014\00a0'}.prose ul{list-style:none;padding-left:0;margin:1.5rem 0}.prose ul li{position:relative;padding-left:1.5rem;margin-bottom:.6rem;color:var(--text-secondary)}.prose ul li::before{content:'\203A';position:absolute;left:0;color:var(--accent);font-family:var(--font-mono);font-weight:700}.prose ol{list-style:none;padding-left:0;margin:1.5rem 0;counter-reset:ol-counter}.prose ol li{position:relative;padding-left:2rem;margin-bottom:.6rem;color:var(--text-secondary);counter-increment:ol-counter}.prose ol li::before{content:counter(ol-counter);position:absolute;left:0;font-family:var(--font-mono);font-size:.75rem;color:var(--accent);background:var(--accent-dim);width:1.3rem;height:1.3rem;display:flex;align-items:center;justify-content:center;border-radius:2px;top:.25rem}.prose hr{border:none;height:1px;background:var(--border);margin:3rem 0}.prose figure{margin:2.5rem 0}.prose figure img{width:100%;border:1px solid var(--border)}.prose figcaption{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);margin-top:.75rem;text-align:center}.prose table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.9rem}.prose table th{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-align:left;padding:.75rem 1rem;border-bottom:2px solid var(--border);background:var(--bg-surface)}.prose table td{padding:.65rem 1rem;border-bottom:1px solid var(--border);color:var(--text-secondary)}.prose table tr:hover td{background:var(--bg-card)}.prose .callout{border:1px solid var(--border);border-left:3px solid var(--accent-cyan);background:rgba(0,194,255,4%);padding:1.25rem 1.5rem;margin:2rem 0}.prose .callout-header{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-cyan);margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem}.prose .callout p{font-size:.9rem;margin:0}.prose .callout.warning{border-left-color:#f59e0b;background:rgba(245,158,11,4%)}.prose .callout.warning .callout-header{color:#f59e0b}.prose .callout.danger{border-left-color:var(--danger);background:rgba(255,68,102,4%)}.prose .callout.danger .callout-header{color:var(--danger)}.article-footer{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border)}.article-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.article-tags span{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;padding:.35rem .7rem;border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-card)}.article-nav{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:2rem;border-top:1px solid var(--border)}.article-nav a{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);text-decoration:none;transition:color .3s ease}.article-nav a:hover{color:var(--accent)}.article-nav .nav-label{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:.3rem}.article-nav .nav-title{color:var(--text-secondary);font-family:var(--font-sans);font-size:.9rem;font-weight:400;display:block}.article-nav a:hover .nav-title{color:var(--accent)}.article-back,.article-meta,.article-title,.article-subtitle,.prose{opacity:0;transform:translateY(16px);animation:fadeIn .6s ease forwards}.article-back{animation-delay:.1s}.article-meta{animation-delay:.2s}.article-title{animation-delay:.3s}.article-subtitle{animation-delay:.4s}.prose{animation-delay:.5s}@media(max-width:768px){.article-wrapper{padding:6rem 1.25rem 3rem}.article-title{font-size:1.75rem}.prose pre{padding:1rem}.prose pre code{font-size:.75rem}.article-nav{flex-direction:column}}