.dsRoot{min-height:100vh}.dsBody{display:flex;align-items:flex-start;max-width:var(--maxw);margin:0 auto;padding:0 var(--site-gutter)}.dsSide{width:232px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:var(--site-header-height);align-self:flex-start;max-height:calc(100vh - var(--site-header-height));overflow-y:auto;padding:var(--dc-space-6) var(--dc-space-4) var(--dc-space-8) 0;border-right:var(--dc-hairline) solid var(--border)}.dsGroup{margin-bottom:var(--dc-space-4)}.dsGroupLabel{font-size:var(--text-xs);font-weight:var(--dc-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);padding:0 var(--dc-row-padding-x);margin-bottom:var(--dc-space-1-5)}.dsMain{flex:1 1;min-width:0;padding:var(--dc-space-8) var(--dc-space-10) var(--dc-space-16);max-width:820px}.dsCrumb{font-size:var(--text-sm);color:var(--fg-muted);margin-bottom:var(--dc-space-3)}.dsCrumbSep{margin:0 var(--dc-space-1-5)}.dsContent{--ds-code-bg:#0d1117;--ds-code-title-bg:#0b0d11;--ds-code-edge:rgba(255,255,255,0.08);--ds-code-fg:#adbac7;--ds-code-title-fg:#8b949e;color:var(--fg)}.dsContent>:first-child{margin-top:0}.dsContent h1{font-size:var(--text-5xl);font-weight:var(--dc-weight-semibold);letter-spacing:-.025em;line-height:1.1;color:var(--fg-strong);margin:0 0 var(--dc-space-2)}.dsContent h2{font-size:var(--text-2xl);letter-spacing:-.015em;margin:var(--dc-space-8) 0 var(--dc-space-3)}.dsContent h2,.dsContent h3{font-weight:var(--dc-weight-semibold);color:var(--fg-strong);scroll-margin-top:calc(var(--site-header-height) + var(--dc-space-4))}.dsContent h3{font-size:var(--text-xl);margin:var(--dc-space-6) 0 var(--dc-space-2)}.dsContent p{font-size:var(--text-base);line-height:1.7;margin:var(--dc-space-3) 0}.dsContent a{color:var(--brand);text-decoration:none}.dsContent a:hover{text-decoration:underline}.dsContent ol,.dsContent ul{margin:var(--dc-space-3) 0;padding-left:var(--dc-space-5)}.dsContent li{font-size:var(--text-base);line-height:1.7;margin:var(--dc-space-1) 0}.dsContent li::marker{color:var(--fg-muted)}.dsContent strong{color:var(--fg-strong);font-weight:var(--dc-weight-semibold)}.dsContent hr{border:none;border-top:var(--dc-hairline) solid var(--border);margin:var(--dc-space-8) 0}.dsContent :not(pre)>code{font-family:var(--font-mono);font-size:.85em;background:var(--dc-surface-code-inline);border:var(--dc-hairline) solid var(--border);border-radius:var(--dc-radius-xs);padding:.08em .35em;color:var(--fg-strong)}.dsContent blockquote{margin:var(--dc-space-4) 0;padding:var(--dc-alert-padding-y) var(--dc-alert-padding-x);background:var(--dc-accent-subtle);border:var(--dc-hairline) solid var(--dc-accent-border);border-radius:var(--dc-alert-radius)}.dsContent blockquote p{margin:var(--dc-space-1) 0;font-size:var(--text-md);line-height:1.6;color:var(--fg-secondary)}.dsContent blockquote strong{color:var(--fg-strong)}.dsContent figure[data-rehype-pretty-code-figure]{margin:var(--dc-space-4) 0}.dsContent figcaption[data-rehype-pretty-code-title]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ds-code-title-fg);background:var(--ds-code-title-bg);border:var(--dc-hairline) solid var(--ds-code-edge);border-bottom:none;border-radius:var(--dc-radius-lg) var(--dc-radius-lg) 0 0;padding:var(--dc-space-2) var(--dc-space-3-5)}.dsContent figcaption[data-rehype-pretty-code-title]+pre{border-radius:0 0 var(--dc-radius-lg) var(--dc-radius-lg);margin-top:0}.dsContent pre{background:var(--ds-code-bg);border:var(--dc-hairline) solid var(--ds-code-edge);border-radius:var(--dc-radius-lg);padding:var(--dc-space-3-5);overflow-x:auto;font-size:var(--text-sm);line-height:1.7}.dsContent pre code{font-family:var(--font-mono);display:block;color:var(--ds-code-fg)}.dsContent pre code [data-line]{display:block}.dsPager{display:flex;gap:var(--dc-space-4);margin-top:var(--dc-space-10);padding-top:var(--dc-space-5);border-top:var(--dc-hairline) solid var(--border)}.dsPg{flex:1 1;display:block;border:var(--dc-hairline) solid var(--border);border-radius:var(--dc-card-radius);padding:var(--dc-space-2-5) var(--dc-space-3-5);text-decoration:none;cursor:default;transition-property:background-color;transition-duration:var(--dc-duration-base);transition-timing-function:var(--dc-ease-standard)}.dsPg:hover{background-color:var(--dc-state-item-hover)}.dsPg:focus-visible{outline:var(--dc-focus-width) solid var(--dc-accent);outline-offset:var(--dc-focus-offset)}.dsPg span{display:block;font-size:var(--text-xs);color:var(--fg-muted)}.dsPg b{font-size:var(--text-base);color:var(--fg-strong);font-weight:var(--dc-weight-semibold)}.dsPgNext{text-align:right}.dsToc{width:200px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:var(--site-header-height);align-self:flex-start;max-height:calc(100vh - var(--site-header-height));overflow-y:auto;padding:var(--dc-space-8) var(--dc-space-4)}.dsTocLabel{font-size:var(--text-xs);font-weight:var(--dc-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);padding:0 var(--dc-row-padding-x);margin-bottom:var(--dc-space-2-5)}.dsTocSub{-webkit-padding-start:calc(var(--dc-row-padding-x) + var(--dc-space-3));padding-inline-start:calc(var(--dc-row-padding-x) + var(--dc-space-3))}@media (max-width:1100px){.dsToc{display:none}}@media (max-width:820px){.dsSide{display:none}.dsMain{padding:var(--dc-space-6) var(--dc-space-5) var(--dc-space-12)}}