.article-page{padding-block:clamp(2.5rem,6vw,5rem)}.article-hero{gap:var(--space-md);max-width:920px;display:grid}.back-link{width:fit-content;color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;font-size:.72rem;font-weight:800}.article-hero h1{max-width:14ch;font-family:var(--font-display);text-wrap:balance;margin:0;font-size:clamp(2.5rem,6vw,5.8rem);line-height:1}.article-meta{color:var(--muted);margin:0;font-size:.88rem;font-weight:700}.article-hero p{max-width:66ch;color:var(--muted);margin:0;font-size:1.08rem}.article-body{max-width:760px;color:color-mix(in srgb, var(--ink), var(--muted) 20%);margin-top:clamp(2rem,5vw,4rem);font-size:1.08rem;line-height:1.75}.article-body p{margin:0 0 var(--space-lg)}.article-body h2,.article-body h3,.article-body h4{margin:clamp(2rem, 5vw, 3rem) 0 var(--space-md);color:var(--ink);font-family:var(--font-display);text-wrap:balance;font-weight:800;line-height:1.08}.article-body h2{font-size:clamp(1.85rem,4vw,2.8rem)}.article-body h3{font-size:clamp(1.35rem,3vw,1.9rem)}.article-body h4{font-size:1.12rem}.article-body ul,.article-body ol{gap:var(--space-sm);margin:0 0 var(--space-lg);padding-left:1.35rem;display:grid}.article-body li::marker{color:var(--accent);font-weight:800}.article-body a{color:var(--accent);text-underline-offset:.18em;font-weight:780;text-decoration:underline .08em}.article-body blockquote{border:1px solid color-mix(in srgb, var(--accent), transparent 72%);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent), transparent 93%);color:var(--ink);font-family:var(--font-serif);margin:clamp(1.7rem,4vw,2.5rem) 0;padding:clamp(1.1rem,3vw,1.6rem);font-size:clamp(1.18rem,2vw,1.5rem);line-height:1.5}.article-body blockquote p{margin:0}.article-body code{background:color-mix(in srgb, var(--ink), transparent 91%);color:var(--ink);font-family:var(--font-mono);border-radius:6px;padding:.12rem .32rem;font-size:.88em}.article-body pre{border-radius:var(--radius-sm);background:var(--ink);color:var(--paper);margin:clamp(1.5rem,4vw,2.4rem) 0;padding:1rem;overflow-x:auto}.article-body pre code{color:inherit;background:0 0;padding:0}.article-body table{border-collapse:collapse;width:100%;margin:clamp(1.5rem,4vw,2.4rem) 0;display:block;overflow-x:auto}.article-body th,.article-body td{border:1px solid var(--line);text-align:left;padding:.75rem}.article-body th{background:var(--surface-strong);color:var(--ink);font-weight:800}.article-body hr{border:0;border-top:1px solid var(--line);margin:clamp(2rem,5vw,3rem) 0}
