.article-shell{max-width:760px;margin:0 auto}.article-header{border-bottom:1px solid var(--color-border-light);margin-bottom:40px;padding-bottom:32px}.article-header h1{font-family:var(--font-heading);color:var(--color-text-primary);margin:16px 0 20px;font-size:clamp(2rem,5vw,2.75rem);line-height:1.15}.article-excerpt{color:var(--color-text-secondary);margin-bottom:24px;font-size:1.15rem;line-height:1.65}.article-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:20px;font-size:.925rem;display:flex}.article-meta .meta-row{align-items:center;gap:8px;display:inline-flex}.article-body{color:var(--color-text);font-size:1.075rem;line-height:1.75}.article-body>*+*{margin-top:1.25em}.article-body h2{font-family:var(--font-heading);color:var(--color-text-primary);border-top:1px solid var(--color-border-light);margin-top:2.25em;margin-bottom:.6em;padding-top:.5em;font-size:1.65rem;line-height:1.25}.article-body h3{font-family:var(--font-heading);color:var(--color-text-primary);margin-top:1.9em;margin-bottom:.5em;font-size:1.3rem;line-height:1.3}.article-body h4{color:var(--color-text-primary);margin-top:1.6em;margin-bottom:.4em;font-size:1.1rem}.article-body ul,.article-body ol{padding-left:1.4em}.article-body li+li{margin-top:.5em}.article-body li::marker{color:var(--color-accent)}.article-body strong{color:var(--color-text-primary);font-weight:600}.article-body a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.article-body a:hover{color:var(--color-accent)}.article-body blockquote{border-left:3px solid var(--color-accent);color:var(--color-text-secondary);padding:4px 0 4px 20px;font-style:italic}.article-body code{background:var(--color-bg-secondary);border-radius:4px;padding:2px 6px;font-size:.9em}.article-table-wrap,.article-body table{width:100%;display:block;overflow-x:auto}.article-body table{border-collapse:collapse;font-size:.95rem}.article-body th,.article-body td{border:1px solid var(--color-border);text-align:left;vertical-align:top;padding:10px 14px}.article-body th{background:var(--color-bg-secondary);color:var(--color-text-primary);white-space:nowrap;font-weight:600}.article-body img{border-radius:12px;max-width:100%;height:auto}.article-body hr{border:0;border-top:1px solid var(--color-border-light)}.article-tags{border-top:1px solid var(--color-border-light);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:48px;padding-top:24px;display:flex}.article-cta{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);text-align:center;border-radius:16px;margin-top:48px;padding:32px}.article-cta h2{font-family:var(--font-heading);color:var(--color-text-primary);margin-bottom:10px;font-size:1.4rem}.article-cta p{color:var(--color-text-secondary);margin-bottom:20px}.article-related{max-width:760px;margin:64px auto 0}.article-back{align-items:center;gap:8px;margin:40px auto 0;display:inline-flex}@media (max-width:640px){.article-cta{padding:24px 20px}.article-meta{gap:12px 18px}}
