body{font-size:17px;line-height:1.75}.article{padding:56px 0 80px}.article-head{padding-bottom:28px;margin-bottom:36px;border-bottom:1px solid var(--line)}.article-head h1{margin:0;font-size:clamp(28px,6vw,40px);font-weight:800;letter-spacing:-.035em;line-height:1.2}.article-head .subtitle{margin:12px 0 0;color:var(--muted);font-size:clamp(16px,3.8vw,19px)}.article-meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px;color:var(--muted-2);font-size:14px;font-weight:600}.article-meta .topic{color:var(--acid)}.article-body>*{margin:0 0 22px}.article-body h2{margin:48px 0 16px;font-size:clamp(21px,4.6vw,26px);font-weight:800;letter-spacing:-.02em;line-height:1.3}.article-body h3{margin:34px 0 12px;font-size:clamp(18px,4vw,20px);font-weight:700}.article-body p{color:var(--text)}.article-body a{color:var(--acid);text-underline-offset:3px}.article-body img{max-width:100%;height:auto;border-radius:12px;border:1px solid var(--line-soft);display:block}.article-body blockquote{margin:28px 0;padding:4px 0 4px 20px;border-left:2px solid var(--acid);color:var(--muted)}.article-body ul,.article-body ol{padding-left:22px}.article-body li{margin-bottom:8px}.article-body code{font-family:var(--mono);font-size:.88em;background:var(--panel);border:1px solid var(--line-soft);padding:1px 6px;border-radius:6px}.article-body pre{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px;overflow-x:auto}.article-body pre code{background:none;border:0;padding:0;font-size:14px;line-height:1.7}.article-body table{width:100%;border-collapse:collapse;font-size:15px}.article-body th,.article-body td{padding:10px 12px;border-bottom:1px solid var(--line-soft);text-align:left}.article-body th{color:var(--muted);font-weight:700;border-bottom-color:var(--line)}.article-body hr{border:0;border-top:1px solid var(--line);margin:44px 0}.loading{color:var(--muted)}@media(max-width:640px){.article{padding:36px 0 60px}}
