.ds-article-wrap{max-width:1180px;width:calc(100% - 48px);margin:0 auto;padding:28px 0 70px}.ds-article-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;color:var(--ds-home-muted);font-size:13px;margin-bottom:30px}.ds-article-breadcrumb a:hover{text-decoration:underline}.ds-article-grid{display:grid;grid-template-columns:205px minmax(0,680px) 170px;gap:38px;align-items:start}.ds-article-rail{color:var(--ds-home-muted);font-size:13px;position:sticky;top:22px}.ds-article-left details summary{cursor:pointer;color:var(--ds-home-ink);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;margin-bottom:12px}.ds-article-toc ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--ds-home-line)}.ds-article-toc ul ul{margin-left:12px}.ds-article-toc li{margin:0}.ds-article-toc a{display:block;padding:5px 0 5px 12px}.ds-article-toc a:hover{color:var(--ds-home-teal)}.ds-article-rail-card{display:block;border-top:1px solid var(--ds-home-line);margin-top:22px;padding-top:17px;color:var(--ds-home-teal)}.ds-article-rail-card strong{display:block;color:var(--ds-home-ink);margin-bottom:10px}.ds-article-series{display:flex;flex-direction:column;gap:8px}.ds-article-series a,.ds-article-series span{color:var(--ds-home-muted);overflow-wrap:anywhere}.ds-article-series span{color:var(--ds-home-teal);font-weight:700}.ds-article-right h2{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:var(--ds-home-muted);margin:4px 0 14px}.ds-article-right>a{color:var(--ds-home-teal)}.ds-article-header{padding-bottom:28px;border-bottom:1px solid var(--ds-home-line)}.ds-article-eyebrow{font-size:11px;letter-spacing:1.6px;color:var(--ds-home-teal);font-weight:700;margin:0 0 12px}.ds-article-header h1{font-size:clamp(36px,4.2vw,56px);line-height:1.1;letter-spacing:-1.8px;margin:0 0 17px;overflow-wrap:anywhere}.ds-article-lede{font-size:18px;line-height:1.65;color:var(--ds-home-muted);margin:0 0 19px}.ds-article-meta{display:flex;gap:15px;flex-wrap:wrap;color:var(--ds-home-muted);font-size:12px}.ds-article-quick{background:#f5f8f6;border:1px solid var(--ds-home-line);border-left:4px solid var(--ds-home-teal);border-radius:8px;padding:19px 21px;margin:28px 0}.ds-article-quick h2{font-size:18px;margin:0 0 8px}.ds-article-quick p{margin:0;color:var(--ds-home-muted)}.ds-article-body{font-size:16px;line-height:1.75;padding-top:29px;min-width:0}.ds-article-body h2{font-size:28px;line-height:1.25;letter-spacing:-.6px;margin:42px 0 13px}.ds-article-body h3{font-size:21px;line-height:1.35;margin:32px 0 10px}.ds-article-body p{margin:0 0 18px}.ds-article-body a{color:var(--ds-home-teal);text-decoration:underline;text-underline-offset:3px}.ds-article-body img,.ds-article-body video,.ds-article-body iframe{max-width:100%;height:auto}.ds-article-body pre{position:relative;overflow:auto;background:#172e2a;color:#eef7f2;border:1px solid #294c43;border-radius:8px;padding:20px;margin:20px 0 25px;font:14px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.ds-article-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}.ds-article-body p code,.ds-article-body li code{background:#eef4f0;border-radius:4px;padding:2px 5px}.ds-article-body table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;margin:20px 0}.ds-article-body th,.ds-article-body td{border:1px solid var(--ds-home-line);padding:9px 12px;text-align:left;min-width:120px}.ds-article-body th{background:#f5f8f6}.ds-article-copy{position:absolute;right:10px;top:10px;border:1px solid #66877d;border-radius:5px;background:transparent;color:#fff;padding:5px 8px;font-size:11px}.ds-article-bottom-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:1px solid var(--ds-home-line);margin-top:42px;padding-top:20px}.ds-article-bottom-nav a{border:1px solid var(--ds-home-line);border-radius:8px;padding:14px;color:var(--ds-home-ink);overflow-wrap:anywhere}.ds-article-bottom-nav span{display:block;color:var(--ds-home-teal);font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.ds-article-author{display:flex;gap:20px;align-items:flex-start;background:#f5f8f6;border:1px solid var(--ds-home-line);border-radius:9px;padding:26px;margin-top:42px;scroll-margin-top:24px}.ds-article-author-avatar{width:64px;height:64px;flex:0 0 64px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#dceee5;color:var(--ds-home-teal);font:700 17px ui-monospace,monospace}.ds-article-author-avatar img{width:64px;height:64px;object-fit:cover}.ds-article-author-copy{min-width:0}.ds-article-author-label{color:var(--ds-home-teal);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;margin:0 0 7px}.ds-article-author h2{font-size:21px;line-height:1.3;margin:0 0 9px;overflow-wrap:anywhere}.ds-article-author h2 a{color:var(--ds-home-ink);text-decoration:none}.ds-article-author h2 a:hover{text-decoration:underline}.ds-article-author-bio{font-size:15px;line-height:1.7;color:var(--ds-home-muted);margin:0 0 12px}.ds-article-author-profile,.ds-article-author-social a{color:var(--ds-home-teal);font-size:13px;font-weight:650}.ds-article-author-social{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px}.ds-article-author-social a{font-weight:500;text-decoration:underline;text-underline-offset:3px}
.ds-article-body .chroma{background:#172e2a;color:#eef7f2}.ds-article-body .chroma .k,.ds-article-body .chroma .kc,.ds-article-body .chroma .kd,.ds-article-body .chroma .kn,.ds-article-body .chroma .kp,.ds-article-body .chroma .kr,.ds-article-body .chroma .kt{color:#ffcf70}.ds-article-body .chroma .n,.ds-article-body .chroma .na,.ds-article-body .chroma .nb,.ds-article-body .chroma .nc,.ds-article-body .chroma .nd,.ds-article-body .chroma .ne,.ds-article-body .chroma .nf,.ds-article-body .chroma .nl,.ds-article-body .chroma .nn,.ds-article-body .chroma .no,.ds-article-body .chroma .nv{color:#8fdbca}.ds-article-body .chroma .o,.ds-article-body .chroma .ow,.ds-article-body .chroma .p{color:#d5e8df}.ds-article-body .chroma .s,.ds-article-body .chroma .sa,.ds-article-body .chroma .sb,.ds-article-body .chroma .sc,.ds-article-body .chroma .dl,.ds-article-body .chroma .sd,.ds-article-body .chroma .s1,.ds-article-body .chroma .s2,.ds-article-body .chroma .se,.ds-article-body .chroma .sh,.ds-article-body .chroma .si,.ds-article-body .chroma .sr,.ds-article-body .chroma .ss{color:#b9e58f}.ds-article-body .chroma .m,.ds-article-body .chroma .mb,.ds-article-body .chroma .mf,.ds-article-body .chroma .mh,.ds-article-body .chroma .mi,.ds-article-body .chroma .mo{color:#b7c8ff}.ds-article-body .chroma .c,.ds-article-body .chroma .ch,.ds-article-body .chroma .cm,.ds-article-body .chroma .c1,.ds-article-body .chroma .cs,.ds-article-body .chroma .cp,.ds-article-body .chroma .cpf{color:#8eaaa1;font-style:italic}.ds-article-body .chroma .err{color:#ff9b9b}.ds-article-body .chroma .gd{color:#ffaaa4}.ds-article-body .chroma .gi{color:#a7e6a0}.ds-article-body .chroma .gh,.ds-article-body .chroma .gu{color:#f3dd9a;font-weight:700}
@media(max-width:1050px){.ds-article-grid{grid-template-columns:180px minmax(0,1fr);gap:30px}.ds-article-right{display:none}}
@media(max-width:680px){.ds-article-wrap{width:calc(100% - 36px);padding-top:22px}.ds-article-grid{display:block}.ds-article-left{position:static;margin-bottom:25px}.ds-article-left details{border:1px solid var(--ds-home-line);border-radius:7px;padding:11px 13px}.ds-article-left details[open]{padding-bottom:14px}.ds-article-left details summary{margin:0}.ds-article-toc{margin-top:12px}.ds-article-rail-card{display:none}.ds-article-header h1{font-size:37px;letter-spacing:-1px}.ds-article-lede{font-size:16px}.ds-article-body{font-size:16px;padding-top:24px}.ds-article-body h2{font-size:25px;margin-top:35px}.ds-article-bottom-nav{grid-template-columns:1fr}.ds-article-body pre{font-size:13px;margin-left:-3px;margin-right:-3px}}
@media(max-width:680px){.ds-article-author{gap:14px;padding:20px}.ds-article-author-avatar,.ds-article-author-avatar img{width:48px;height:48px;flex-basis:48px}.ds-article-author-bio{font-size:15px}.ds-article-author h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){.ds-article-body *{scroll-behavior:auto!important}}
