.it-site .article-head{background:var(--surface-tint);padding-bottom:clamp(32px,4vw,56px)}.it-site .article-head-inner{padding:clamp(24px, 3vw, 40px) var(--page-x) 0}.it-site .article-tags{flex-wrap:wrap;gap:8px;margin-bottom:clamp(16px,2vw,28px);display:flex}.it-site .article-tags span{background:var(--ink);color:var(--white);font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:6px 14px}.it-site .article-title{text-transform:none;letter-spacing:-.02em;font-size:clamp(30px,3.6vw,56px);line-height:1.1}.it-site .article-lede{text-wrap:pretty;max-width:62ch;color:var(--ink-700);margin-top:clamp(16px,2vw,24px);font-size:clamp(17px,1.5vw,22px)}.it-site .article-meta{font-size:var(--fs-caption);color:var(--slate-500);flex-wrap:wrap;align-items:center;gap:10px;margin-top:clamp(20px,2.4vw,32px);display:flex}.it-site .article-cover{padding:0 var(--page-x);margin-top:clamp(-40px,-3vw,-20px)}.it-site .article-cover .image-slot{border-radius:var(--radius-media)}.it-site .article-layout{padding:clamp(40px, 5vw, 80px) var(--page-x) clamp(48px, 6vw, 96px);grid-template-columns:minmax(0,1fr) clamp(220px,20vw,300px);align-items:start;gap:clamp(32px,5vw,80px);display:grid}.it-site .article-aside{flex-direction:column;gap:clamp(24px,3vw,40px);display:flex}.it-site .toc-title{margin-bottom:14px}.it-site .toc ul{border-left:1px solid var(--border-subtle);margin:0;padding:0;list-style:none}.it-site .toc li a{font-size:var(--fs-caption);color:var(--slate-500);transition:color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard);border-left:2px solid #0000;margin-left:-1px;padding:7px 0 7px 16px;line-height:1.4;display:block}.it-site .toc li a:hover{color:var(--ink)}.it-site .toc li a.is-active{border-left-color:var(--ink);color:var(--ink);font-weight:var(--fw-semibold)}.it-site .toc-level-3 a{padding-left:28px}.it-site .aside-related a{border-top:1px solid var(--border-subtle);padding:12px 0;display:block}.it-site .aside-related a span{font-size:var(--fs-body);font-weight:var(--fw-medium);line-height:1.35;display:block}.it-site .aside-related a small{font-size:var(--fs-caption);color:var(--slate-400);margin-top:4px;display:block}.it-site .aside-related a:hover span{text-underline-offset:3px;text-decoration:underline}.it-site .article-body{max-width:760px;color:var(--ink-700);font-size:clamp(16px,1.2vw,19px);line-height:1.7}.it-site .article-body>*+*{margin-top:24px}.it-site .article-body h2,.it-site .article-body h3{color:var(--ink);scroll-margin-top:calc(clamp(64px,5.5vw,88px) + 24px)}.it-site .article-body h2{font-size:clamp(24px,2.4vw,34px);font-weight:var(--fw-bold);letter-spacing:-.03em;margin-top:clamp(40px,4vw,64px)}.it-site .article-body h3{font-size:clamp(19px,1.6vw,24px);font-weight:var(--fw-semibold);margin-top:clamp(28px,3vw,44px)}.it-site .article-body ul,.it-site .article-body ol{padding-left:24px}.it-site .article-body ul{list-style:outside}.it-site .article-body ol{list-style:decimal}.it-site .article-body li::marker{color:var(--slate-400)}.it-site .article-body li+li{margin-top:10px}.it-site .article-body a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.it-site .article-body a:hover{color:var(--slate-500)}.it-site .article-body strong{color:var(--ink);font-weight:var(--fw-semibold)}.it-site .article-body blockquote{border-left:3px solid var(--ink);color:var(--ink);margin-left:0;padding:4px 0 4px 24px;font-size:clamp(18px,1.5vw,22px)}.it-site .article-body code{background:var(--slate-100);font-family:var(--font-mono);border-radius:4px;padding:2px 6px;font-size:.88em}.it-site .article-body pre{border-radius:var(--radius-media);background:var(--ink-900);color:var(--white);padding:20px;font-size:.9em;overflow-x:auto}.it-site .article-body pre code{color:inherit;background:0 0;padding:0}.it-site .article-body img{border-radius:var(--radius-media);width:100%;height:auto}@media (width<=1000px){.it-site .article-layout{grid-template-columns:1fr}.it-site .article-aside{order:-1}.it-site .article-body{max-width:none}}
