.tsb-doc{--doc-col:720px;grid-template-columns:minmax(0,1fr);justify-items:center;max-width:1160px;margin:0 auto;padding:clamp(28px,4vw,48px) 32px 0;display:grid}.tsb-doc>*{width:min(100%, var(--doc-col))}.tsb-doc-back{color:var(--color-text-tertiary);transition:color var(--transition-color);align-items:center;gap:8px;margin-bottom:clamp(24px,3vw,40px);font-size:13px;display:inline-flex}.tsb-doc-back:hover{color:var(--accent-fg)}.tsb-doc-back i{font-size:15px}.tsb-index-head{max-width:1160px;padding-top:clamp(28px,4vw,48px)}.tsb-index-head .tsb-doc-back{margin-bottom:clamp(20px,3vw,32px)}.tsb-index-head .tsb-ins-h1{margin-bottom:16px}.tsb-index-head .tsb-ins-lede{max-width:640px}.tsb-index-hash{color:var(--color-text-muted)}.tsb-index-count{font-family:var(--font-mono);color:var(--color-text-muted);margin:18px 0 0;font-size:12.5px}.tsb-doc-head{margin-bottom:clamp(24px,3vw,36px)}.tsb-doc-pills{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.tsb-doc-title{letter-spacing:-.01em;text-wrap:balance;margin:0 0 16px;font-size:clamp(30px,4vw,46px);font-weight:600;line-height:1.1}.tsb-doc-lede{color:var(--color-text-secondary);text-wrap:pretty;margin:0;font-size:clamp(16.5px,1.5vw,19px);line-height:1.6}.tsb-doc-meta{margin-top:20px}.tsb-doc-inline-link{color:var(--color-text-tertiary);transition:color var(--transition-color);align-items:center;gap:5px;display:inline-flex}.tsb-doc-inline-link:hover{color:var(--accent-fg)}.tsb-doc-download{margin-top:24px}.tsb-doc-chip{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--color-divider);color:var(--color-text-tertiary);border-radius:99px;padding:5px 11px;font-size:11px;font-weight:600}.tsb-doc-chip--warn{color:#fbbf24;border-color:#f59e0b66}.tsb-doc-step,.tsb-doc-version{font-family:var(--font-mono);letter-spacing:.04em;background:var(--color-accent-muted);color:var(--accent-fg);border-radius:99px;align-items:center;gap:7px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.tsb-doc-version{font-size:14px}.tsb-doc-cover{border:1px solid var(--color-divider);background:var(--surf-tint);border-radius:14px;margin-bottom:clamp(32px,4vw,48px);position:relative;overflow:hidden}.tsb-doc-cover-img{width:100%;height:auto;display:block}.tsb-doc-placeholder{aspect-ratio:16/9;position:relative}.tsb-doc-body{flex-direction:column;gap:clamp(24px,3vw,32px);display:flex}.tsb-doc-prose{color:var(--color-text-secondary);font-size:17px;line-height:1.72}.tsb-doc-prose>*+*{margin-top:1.1em}.tsb-doc-prose h2,.tsb-doc-prose h3,.tsb-doc-prose h4{color:var(--color-text-primary);letter-spacing:-.01em;text-wrap:balance;font-weight:600;line-height:1.2}.tsb-doc-prose h2{margin-top:1.8em;font-size:clamp(23px,2.2vw,28px)}.tsb-doc-prose h3{margin-top:1.6em;font-size:20px}.tsb-doc-prose h4{margin-top:1.4em;font-size:17.5px}.tsb-doc-prose strong{color:var(--color-text-primary);font-weight:600}.tsb-doc-prose a{color:var(--accent-fg);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.tsb-doc-prose ul,.tsb-doc-prose ol{padding-left:1.4em}.tsb-doc-prose li+li{margin-top:.5em}.tsb-doc-prose li::marker{color:var(--color-text-muted)}.tsb-doc-prose blockquote{border-left:2px solid var(--color-accent-border);color:var(--color-text-tertiary);margin:0;padding-left:20px;font-style:italic}.tsb-doc-prose code{font-family:var(--font-mono);background:var(--surf-tint);color:var(--accent-fg);border-radius:4px;padding:2px 6px;font-size:.88em}.tsb-doc-prose hr{border:0;border-top:1px solid var(--color-divider);margin:2em 0}.tsb-doc-prose img{border-radius:10px;max-width:100%;height:auto}.tsb-doc-figure{margin:0}.tsb-doc-figure--column{width:min(100%, var(--doc-col))}.tsb-doc-figure--wide{width:min(100%,900px)}.tsb-doc-figure--full{width:100%}.tsb-doc-img{border:1px solid var(--color-divider);border-radius:12px;width:100%;height:auto;display:block}.tsb-doc-caption{color:var(--color-text-muted);text-align:center;margin-top:10px;font-size:13px;line-height:1.5}.tsb-doc-infographic{transition:border-color var(--transition-medium);border-radius:12px;display:block;overflow:hidden}.tsb-doc-infographic .tsb-doc-placeholder{border:1px solid var(--color-divider);border-radius:12px}.tsb-doc-embed{aspect-ratio:16/9;border:1px solid var(--color-divider);background:var(--code-bg);border-radius:12px;position:relative;overflow:hidden}.tsb-doc-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.tsb-doc-takeaways{border:1px solid var(--color-accent-border);background:var(--tint-grad);border-radius:12px;padding:22px 24px}.tsb-doc-takeaways-head{letter-spacing:.07em;text-transform:uppercase;color:var(--accent-fg);align-items:center;gap:8px;margin-bottom:14px;font-size:11.5px;font-weight:600;display:flex}.tsb-doc-takeaways-list{color:var(--color-text-secondary);margin:0;padding-left:1.2em;font-size:15.5px;line-height:1.6}.tsb-doc-takeaways-list li+li{margin-top:8px}.tsb-doc-callout{border:1px solid var(--color-divider);background:var(--surf-card);border-radius:12px;gap:14px;padding:18px 20px;display:flex}.tsb-doc-callout>i{color:var(--accent-fg);flex-shrink:0;font-size:19px;line-height:1.5}.tsb-doc-callout--tip{border-color:var(--color-accent-border)}.tsb-doc-callout--warning{border-color:#f59e0b59}.tsb-doc-callout--warning>i{color:#fbbf24}.tsb-doc-callout--insight>i{color:var(--ai-fg)}.tsb-doc-callout-title{color:var(--color-text-primary);margin-bottom:6px;font-size:14.5px;font-weight:600}.tsb-doc-callout-body{color:var(--color-text-secondary);margin:0;font-size:15px;line-height:1.62}.tsb-doc-callout-body a{color:var(--accent-fg);text-decoration:underline}.tsb-doc-prereqs{margin:0;padding-left:1.2em;font-size:15px;line-height:1.6}.tsb-doc-prereqs a{color:var(--accent-fg);text-underline-offset:3px;text-decoration:underline}.tsb-doc-code{border:1px solid var(--color-divider);background:var(--code-bg);border-radius:12px;overflow:hidden}.tsb-doc-code-head{font-family:var(--font-mono);color:var(--color-text-muted);border-bottom:1px solid #ffffff12;padding:10px 16px;font-size:11.5px}.tsb-doc-pre{margin:0;padding:18px 16px;overflow-x:auto}.tsb-doc-pre code{font-family:var(--font-mono);color:#d9d5f0;white-space:pre;font-size:13px;line-height:1.65}.tsb-doc-quote{border-left:3px solid var(--color-accent-border);margin:0;padding:0 0 0 24px}.tsb-doc-quote p{font-family:var(--font-display);color:var(--color-text-primary);text-wrap:pretty;margin:0;font-size:clamp(20px,2.1vw,25px);line-height:1.4}.tsb-doc-quote-by{color:var(--color-text-tertiary);margin-top:14px;font-size:13.5px}.tsb-doc-quote-role{color:var(--color-text-muted)}.tsb-doc-quote-role:before{content:" — "}.tsb-doc-faq-head{margin:0 0 18px;font-size:clamp(22px,2.2vw,27px);font-weight:600}.tsb-doc-faq-item,.tsb-doc-transcript{border-bottom:1px solid var(--color-divider)}.tsb-doc-transcript{border:1px solid var(--color-divider);border-radius:12px;padding:4px 18px}.tsb-doc-faq-q,.tsb-doc-transcript-head{color:var(--color-text-primary);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-size:15.5px;font-weight:500;list-style:none;display:flex}.tsb-doc-faq-q::-webkit-details-marker{display:none}.tsb-doc-transcript-head::-webkit-details-marker{display:none}.tsb-doc-faq-q i,.tsb-doc-transcript-head i{color:var(--color-text-muted);transition:transform var(--transition-medium);font-size:16px}details[open]>.tsb-doc-faq-q i,details[open]>.tsb-doc-transcript-head i{transform:rotate(180deg)}.tsb-doc-faq-a,.tsb-doc-transcript-body{color:var(--color-text-secondary);margin:0;padding-bottom:18px;font-size:15px;line-height:1.65}.tsb-doc-changes-head{margin:0 0 16px;font-size:clamp(20px,2vw,24px);font-weight:600}.tsb-doc-changes-list{border-top:1px solid var(--color-divider);margin:0;padding:0;list-style:none}.tsb-doc-change{border-bottom:1px solid var(--color-divider);align-items:baseline;gap:14px;padding:14px 0;display:flex}.tsb-doc-change-type{width:76px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);flex-shrink:0;padding:4px 0;font-size:10px;font-weight:600}.tsb-doc-change-type--added{color:#4ade80}.tsb-doc-change-type--improved{color:var(--accent-fg)}.tsb-doc-change-type--fixed{color:var(--ai-fg)}.tsb-doc-change-type--removed,.tsb-doc-change-type--security{color:#fbbf24}.tsb-doc-change-body{color:var(--color-text-secondary);font-size:15.5px;line-height:1.6}.tsb-doc-change-breaking{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#fbbf24;background:#f59e0b26;border-radius:99px;margin-left:8px;padding:3px 7px;font-size:9.5px;font-weight:600}.tsb-doc-cta{border:1px solid var(--color-accent-border);background:var(--tint-grad);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.tsb-doc-cta--quiet{border-color:var(--color-divider);background:var(--surf-card)}.tsb-doc-cta-head{color:var(--color-text-primary);font-size:18px;font-weight:600}.tsb-doc-cta-body{color:var(--color-text-secondary);margin:6px 0 0;font-size:14.5px;line-height:1.55}.tsb-doc-tags{border-top:1px solid var(--color-divider);flex-wrap:wrap;align-items:center;gap:10px;margin-top:clamp(36px,4vw,52px);padding-top:24px;display:flex}.tsb-doc-tags-label{letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);font-size:11px;font-weight:600}.tsb-doc-tag{font-family:var(--font-mono);background:var(--surf-tint);color:var(--accent-fg);transition:background var(--transition-color);border-radius:99px;padding:5px 11px;font-size:12.5px}.tsb-doc-tag:hover{background:var(--color-accent-muted)}.tsb-doc-author{border:1px solid var(--color-divider);background:var(--surf-card);border-radius:12px;align-items:flex-start;gap:16px;margin-top:28px;padding:20px;display:flex}.tsb-doc-author-avatar{border-radius:99px;flex-shrink:0}.tsb-doc-author-name{color:var(--color-text-primary);font-size:15px;font-weight:600}.tsb-doc-author-role{color:var(--color-text-tertiary);margin-top:2px;font-size:13px}.tsb-doc-author-bio{color:var(--color-text-secondary);margin:10px 0 0;font-size:14.5px;line-height:1.6}.tsb-doc-related{padding-top:clamp(56px,6vw,88px)}.tsb-doc-related .tsb-ins-h2{margin-bottom:28px}@media (max-width:640px){.tsb-doc{padding-left:20px;padding-right:20px}.tsb-doc-change{flex-direction:column;gap:6px}.tsb-doc-change-type{width:auto;padding:0}}
