.article-page{width:min(860px,100% - 40px);margin:56px auto 100px}.article-page article{color:var(--color-article-title)}.article-back{color:var(--color-article-meta);margin-bottom:44px;font-weight:700;text-decoration:none;display:inline-block}.article-meta{color:var(--color-article-meta);letter-spacing:.05em;text-transform:uppercase;gap:16px;font-size:.9rem;font-weight:700;display:flex}.article-page h1{color:var(--color-text-deep);letter-spacing:-.045em;margin:14px 0 20px;font-size:clamp(2.4rem,7vw,4.8rem);line-height:1.04}.article-lede{max-width:720px;color:var(--color-article-body);margin:0 0 36px;font-size:1.35rem;line-height:1.55}.article-hero-image{object-fit:contain;border-radius:20px;width:100%;height:auto;margin:20px 0 48px}.article-content{color:var(--color-article-subheading);font-size:1.08rem;line-height:1.8}.article-content h2,.article-content h3,.article-content h4{color:var(--color-article-heading);margin:2em 0 .65em;line-height:1.2}.article-content h2{font-size:2rem}.article-content h3{font-size:1.5rem}.article-content p,.article-content ul,.article-content ol,.article-content blockquote,.article-content pre{margin:0 0 1.35em}.article-content img{border-radius:12px;max-width:100%;height:auto}.article-content a{color:var(--numina-accent)}.article-content blockquote{border-left:4px solid var(--color-border-warm);color:var(--color-article-body);margin-left:0;padding-left:24px}.article-content pre{background:var(--color-code-background);color:var(--color-white);border-radius:12px;padding:20px;overflow-x:auto}.article-actions{flex-wrap:wrap;gap:12px;margin:0 0 28px;display:flex}.article-message{text-align:center;padding:100px 20px;font-size:1.2rem}.article-message div{margin-top:12px}.article-message a{color:var(--numina-accent)}@media (width<=640px){.article-page{margin-top:32px}.article-back{margin-bottom:30px}.article-meta{flex-direction:column;gap:2px}}
