.dx-shell{--dx-text:#c6c6cb;--dx-side-w:240px;--dx-toc-w:200px;--dx-top:84px;margin:0 auto;padding:36px 24px 96px;display:grid;grid-template-columns:var(--dx-side-w) minmax(0,1fr) var(--dx-toc-w);gap:48px;align-items:start}.dx-hdr-in,.dx-shell{max-width:1200px}.dx-nav{margin-left:auto;display:flex;align-items:center;gap:28px}.dx-side{position:sticky;top:var(--dx-top);max-height:calc(100vh - var(--dx-top) - 16px);overflow-y:auto;padding-right:4px}.dx-side-toggle{display:none}.dx-side-group{margin-bottom:22px}.dx-side-group>.label{padding:0 10px 8px}.dx-side-list{list-style:none;margin:0;padding:0}.dx-side-list a{position:relative;display:block;padding:6px 10px;border-radius:8px;font-size:var(--t-label);line-height:1.4;color:var(--ink-2);transition:color .15s,background .15s}.dx-side-list a:hover{color:var(--ink);background:rgba(255,255,255,.04)}.dx-side-list a.is-on{color:#fff}.dx-side-list a.is-on:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:1px;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.6)}.dx-article{min-width:0;max-width:68ch;color:var(--dx-text)}.dx-top{justify-content:space-between;gap:12px 24px;margin-bottom:36px}.dx-crumb,.dx-top{display:flex;align-items:center;flex-wrap:wrap}.dx-crumb{gap:8px;font-family:var(--font-mono),monospace;font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.dx-crumb a{color:var(--ink);transition:color .15s}.dx-crumb a:hover{color:#fff}.dx-crumb .here{color:var(--ink-2)}.dx-explain{display:flex;align-items:center;flex-wrap:wrap;gap:0 16px;margin-top:56px;font-size:var(--t-label);color:var(--ink-3)}.dx-explain .btn{color:var(--ink-3);text-transform:none;letter-spacing:.02em}.dx-explain .btn:hover{color:var(--ink-2)}.dx-explain+.dx-pn{margin-top:16px}.dx-eyebrow{margin-bottom:14px}.dx-h1{margin:0 0 16px;font:500 clamp(1.75rem,1.25rem + 1.6vw,2.25rem) /1.15 var(--font-sans),sans-serif;letter-spacing:-.025em;color:#f1f1f3;text-wrap:balance;overflow-wrap:break-word}.dx-dek{margin:0 0 36px;font-size:var(--t-lead);line-height:1.55;color:var(--ink-2);text-wrap:pretty}.dx-article h2{margin:48px 0 12px;font-size:1.375rem;font-weight:600;letter-spacing:-.015em;line-height:1.3;color:var(--ink);text-wrap:balance;scroll-margin-top:92px}.dx-article p{margin:0 0 16px;font-size:var(--t-body);line-height:1.65;text-wrap:pretty}.dx-article strong{color:var(--ink);font-weight:600}.dx-article em{color:var(--ink-2)}.dx-article :is(p,li,td,th) a{color:var(--ink);border-bottom:1px solid rgba(255,255,255,.32);transition:border-color .15s}.dx-article :is(p,li,td,th) a:hover{border-bottom-color:#fff}.dx-article ol,.dx-article ul{margin:0 0 18px;padding-left:22px}.dx-article li{margin-bottom:8px;font-size:var(--t-body);line-height:1.65;text-wrap:pretty}.dx-article li::marker{color:var(--ink-3)}.dx-article code{overflow-wrap:anywhere}.dx-article code,.dx-article pre{font-family:var(--font-mono),monospace;font-size:var(--t-label);color:var(--ink)}.dx-article pre{margin:14px 0 20px;padding:14px 16px;border-radius:12px;background:rgba(0,0,0,.45);border:1px solid var(--line);line-height:1.65;overflow-x:auto}.dx-article pre code{overflow-wrap:normal}.dx-steps{list-style:none;padding:0!important;margin:0 0 20px;counter-reset:step}.dx-steps li{position:relative;padding-left:40px;margin-bottom:12px;counter-increment:step}.dx-steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--font-mono),monospace;font-size:var(--t-label);line-height:1.65rem;letter-spacing:.08em;color:var(--ink-3)}.dx-note{margin:18px 0 22px;padding:12px 16px 2px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--line)}.dx-note>.label{margin-bottom:6px}.dx-note p{margin-bottom:12px}.dx-table-wrap{margin:14px 0 24px;overflow-x:auto}.dx-table{width:100%;border-collapse:collapse;font-size:var(--t-label)}.dx-table.is-wide{min-width:600px}.dx-table th code{white-space:nowrap}.dx-table td,.dx-table th{padding:9px 14px 9px 0;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);line-height:1.5}.dx-table thead th{padding-top:0;font-family:var(--font-mono),monospace;font-size:var(--t-label);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.dx-table tbody th{font-weight:400;color:var(--ink)}.dx-table td{color:var(--dx-text)}.dx-addr{list-style:none;padding:0!important;margin:0 0 20px}.dx-addr li{margin:0;padding:10px 0;border-bottom:1px solid var(--line)}.dx-addr li:first-child{padding-top:0}.dx-hash{display:inline-block;margin-top:6px;user-select:all}.dx-fig{margin:18px 0 26px}.dx-fig-scroll{overflow-x:auto;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.015)}.dx-fig svg{display:block;width:100%;min-width:600px;height:auto;font-family:var(--font-mono),monospace}.dx-fig figcaption{margin-top:10px;line-height:1.5;letter-spacing:.02em;color:var(--ink-3);text-wrap:pretty}.dx-fig figcaption,.dx-pn{font-family:var(--font-mono),monospace;font-size:var(--t-label)}.dx-pn{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 24px;margin-top:56px;padding-top:12px;border-top:1px solid var(--line);letter-spacing:.04em}.dx-pn a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-2);transition:color .15s}.dx-pn a:hover{color:#fff}.dx-pn .next{margin-left:auto}.dx-toc{position:sticky;top:var(--dx-top);max-height:calc(100vh - var(--dx-top) - 16px);overflow-y:auto}.dx-toc>.label{padding:0 0 10px 12px}.dx-toc ul{list-style:none;margin:0;padding:0}.dx-toc a{position:relative;display:block;padding:5px 12px;font-size:var(--t-label);line-height:1.4;color:var(--ink-3);transition:color .15s}.dx-toc a:hover{color:var(--ink)}.dx-toc a.is-on{color:#fff}.dx-toc a.is-on:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:2px;border-radius:1px;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.6)}@media (max-width:1199px){.dx-shell{grid-template-columns:var(--dx-side-w) minmax(0,1fr);gap:40px}.dx-toc{display:none}}@media (max-width:1000px){.dx-shell{--dx-top:56px;grid-template-columns:minmax(0,1fr);gap:20px;padding:16px 16px 64px}.dx-side{position:static;max-height:none;overflow:visible;padding:0}.dx-side-toggle{width:100%;min-height:44px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-radius:10px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);font-family:var(--font-mono),monospace;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.dx-chev{width:7px;height:7px;margin-top:-3px;border-right:1.5px solid var(--ink-3);border-bottom:1.5px solid var(--ink-3);transform:rotate(45deg);transition:transform .2s}.dx-chev.is-up{margin-top:3px;transform:rotate(-135deg)}.dx-side-nav{display:none;margin-top:8px;padding:12px 6px 2px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.02)}.dx-side-nav.is-open{display:block}.dx-side-group{margin-bottom:14px}.dx-side-list a{padding:10px}.dx-top{margin-bottom:28px}.dx-article h2{margin-top:40px;scroll-margin-top:72px}.dx-dek{margin-bottom:28px}}@media (max-width:560px){.dx-nav{gap:20px}.dx-pn .next{margin-left:0}}@media (prefers-reduced-motion:reduce){.dx-chev{transition:none}}