/* Article-local additions to the shared editorial surface. */
.ts-migration { --font-sans: "Geist", "PingFang SC", "Microsoft YaHei", ui-sans-serif, system-ui, sans-serif; font-family: var(--font-sans); }
.ts-migration .article-heading h1 { font-size: clamp(34px, 4.1vw, 52px); line-height: 1.18; }
.ts-migration .prose img { display: block; max-width: 100%; height: auto; }
.ts-migration .prose blockquote { border-left: 2px solid var(--blue); margin: 32px 0; padding-left: 24px; }
.ts-migration .table-scroll { outline-offset: 5px; }
.ts-migration .table-scroll table { min-width: 580px; }
.ts-migration .figure-scroll { overflow: auto; border: 1px solid var(--border); border-radius: 12px; }
.ts-migration .figure-scroll img { min-width: 720px; }
.ts-migration .site-header .brand { flex-shrink: 0; }
.ts-migration .site-header nav, .ts-migration .header-actions, .ts-migration .github { white-space: nowrap; }
@media (max-width: 760px) {
  .ts-migration .article-heading { padding-top: 24px; }
  .ts-migration .article-heading h1 { font-size: 34px; }
  .ts-migration .lead { font-size: 17px; }
  .ts-migration .figure-scroll img { min-width: 660px; }
}

/* Keep editorial HTML script-free in the exported frontstage bundle. */
.ts-migration .desktop-contents { position: sticky; top: 32px; }
.ts-migration .toc-caption { min-height: 44px; margin: 0; font-weight: 600; }
.ts-migration .mobile-contents { display: none; }
@media (max-width: 768px) {
  .ts-migration .desktop-contents { display: none; }
  .ts-migration .mobile-contents { display: block; }
}
