﻿
/* =========================================================
   TSL WORLDWIDE ARTICLE THEME
   Final global visual contract.
   Goal: article CSS family becomes the site-wide standard.
   Keeps alignment tied to the same 1120px / 20px header rhythm.
   ========================================================= */

:root {
  --tsl-page-max: 1120px;
  --tsl-page-pad: 20px;
}

/* Universal page shell alignment: same width/padding as header */
.tsl-foundation-shell,
.tsl-index-shell,
.tsl-pro-shell,
.tsl-page-shell,
.tsl-public-shell,
.tsl-clean-article-shell {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: var(--tsl-page-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Non-sidebar pages */
.tsl-foundation-shell,
.tsl-index-shell,
.tsl-pro-shell,
.tsl-page-shell,
.tsl-public-shell {
  padding: 38px var(--tsl-page-pad) 72px !important;
}

/* Article child pages keep their grid/sidebar behavior */
.tsl-clean-article-shell {
  padding: 46px var(--tsl-page-pad) 76px !important;
}

/* Hero/content column */
.tsl-foundation-hero,
.tsl-index-hero,
.tsl-page-hero,
.tsl-public-hero,
.tsl-foundation-shell > section:first-child {
  max-width: 780px !important;
  margin: 0 0 30px !important;
  padding: 0 !important;
}

/* Breadcrumb / index line */
.tsl-foundation-crumb,
.tsl-index-crumb,
.tsl-page-crumb,
.tsl-public-crumb,
.tsl-breadcrumb,
.tsl-clean-crumb,
.tsl-crumb,
.tsl-pro-crumb {
  display: block !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 0 18px !important;
}

/* Blue category pill */
.tsl-foundation-kicker,
.tsl-index-kicker,
.tsl-page-kicker,
.tsl-public-kicker,
.tsl-clean-kicker,
.tsl-kicker,
.tsl-pro-kicker {
  display: inline-block !important;
  width: fit-content !important;
  max-width: max-content !important;
  color: #2563eb !important;
  background: rgba(37, 99, 235, 0.10) !important;
  border: 1px solid rgba(37, 99, 235, 0.18) !important;
  border-radius: 5px !important;
  padding: 5px 9px !important;
  margin: 0 0 16px !important;
  font-size: 10px !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

/* Main page H1: article-family standard */
.tsl-foundation-title,
.tsl-index-title,
.tsl-page-title,
.tsl-public-title,
.tsl-clean-h1,
.tsl-title,
.tsl-pro-title {
  color: #0f172a !important;
  font-family: inherit !important;
  font-size: clamp(2.05rem, 5vw, 3.3rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.055em !important;
  font-weight: 800 !important;
  margin: 0 0 16px !important;
  max-width: 780px !important;
}

.tsl-foundation-title span,
.tsl-index-title span,
.tsl-page-title span,
.tsl-public-title span,
.tsl-clean-h1 span,
.tsl-title span,
.tsl-pro-title span {
  color: #2563eb !important;
}

/* Intro paragraph / deck */
.tsl-foundation-deck,
.tsl-index-deck,
.tsl-page-deck,
.tsl-public-deck,
.tsl-clean-deck,
.tsl-deck,
.tsl-pro-deck {
  color: #475569 !important;
  font-size: 1.12rem !important;
  line-height: 1.72 !important;
  font-weight: 400 !important;
  max-width: 760px !important;
  margin: 0 0 22px !important;
}

/* Shared content section rhythm */
.tsl-foundation-shell .tsl-clean-section,
.tsl-index-shell .tsl-clean-section,
.tsl-page-shell .tsl-clean-section,
.tsl-public-shell .tsl-clean-section,
.tsl-section {
  max-width: 100% !important;
}

/* Article-style cards worldwide */
.tsl-card,
.tsl-model-card,
.tsl-foundation-card,
.tsl-tool-card,
.tsl-auth-card,
.tsl-auth-panel,
.tsl-related a {
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.04) !important;
}

/* Homepage/watchlist model-card grids */
.tsl-foundation-shell .tsl-model-grid,
.tsl-index-shell .tsl-model-grid,
.tsl-page-shell .tsl-model-grid,
.tsl-public-shell .tsl-model-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  max-width: 760px !important;
}

.tsl-foundation-shell .tsl-model-card,
.tsl-index-shell .tsl-model-card,
.tsl-page-shell .tsl-model-card,
.tsl-public-shell .tsl-model-card {
  padding: 18px !important;
}

/* Auth card aligns with the page column, not floating separately */
.tsl-auth-card,
.tsl-auth-panel {
  max-width: 760px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Mobile */
@media (max-width: 760px) {
  :root {
    --tsl-page-pad: 16px;
  }

  .tsl-foundation-shell,
  .tsl-index-shell,
  .tsl-pro-shell,
  .tsl-page-shell,
  .tsl-public-shell,
  .tsl-clean-article-shell {
    padding-left: var(--tsl-page-pad) !important;
    padding-right: var(--tsl-page-pad) !important;
  }

  .tsl-foundation-title,
  .tsl-index-title,
  .tsl-page-title,
  .tsl-public-title,
  .tsl-clean-h1,
  .tsl-title,
  .tsl-pro-title {
    font-size: clamp(2.1rem, 10vw, 3rem) !important;
    line-height: 1.06 !important;
  }

  .tsl-foundation-deck,
  .tsl-index-deck,
  .tsl-page-deck,
  .tsl-public-deck,
  .tsl-clean-deck,
  .tsl-deck,
  .tsl-pro-deck {
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }

  .tsl-foundation-shell .tsl-model-grid,
  .tsl-index-shell .tsl-model-grid,
  .tsl-page-shell .tsl-model-grid,
  .tsl-public-shell .tsl-model-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   TSL FINAL TWO-ISSUE FIX
   1) Remove article child indentation drift
   2) Force all blue pills to center text vertically/horizontally
   ========================================================= */

/* Article child pages: no special extra left inset */
body.tsl-clean-article-page .tsl-clean-main {
  padding-left: 0 !important;
  margin-left: 0 !important;
  box-sizing: border-box !important;
}

/* Article child shell: same page-width rhythm as the rest of the site */
body.tsl-clean-article-page .tsl-clean-article-shell {
  max-width: 1120px !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  box-sizing: border-box !important;
}

/* Keep sidebar, but do not let it pull the main column sideways */
body.tsl-clean-article-page .tsl-clean-sidebar {
  margin-left: 0 !important;
}

/* Stronger blue-pill reset: fixes Account / Watchlist vertical centering */
.tsl-clean-kicker,
.tsl-foundation-kicker,
.tsl-index-kicker,
.tsl-page-kicker,
.tsl-public-kicker,
.tsl-pro-kicker,
.tsl-kicker {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  text-align: center !important;

  height: 30px !important;
  min-height: 30px !important;
  width: auto !important;
  max-width: max-content !important;

  padding: 0 12px !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;

  font-size: 10px !important;
  line-height: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;

  color: #2563eb !important;
  background: rgba(37, 99, 235, 0.10) !important;
  border: 1px solid rgba(37, 99, 235, 0.18) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

/* Keep breadcrumb/index text consistent */
.tsl-breadcrumb,
.tsl-clean-crumb,
.tsl-foundation-crumb,
.tsl-index-crumb,
.tsl-page-crumb,
.tsl-public-crumb,
.tsl-pro-crumb,
.tsl-crumb {
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

@media (max-width: 900px) {
  body.tsl-clean-article-page .tsl-clean-article-shell {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* =========================================================
   TSL FINAL PILL + BREADCRUMB NORMALIZATION ONLY
   Does not change page alignment, shell width, or article grid.
   ========================================================= */

/* Breadcrumb/index words: same visual style everywhere */
.tsl-breadcrumb,
.tsl-clean-crumb,
.tsl-foundation-crumb,
.tsl-index-crumb,
.tsl-page-crumb,
.tsl-public-crumb,
.tsl-pro-crumb,
.tsl-crumb {
  display: block !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

/* Blue pill: one final contract everywhere */
.tsl-clean-kicker,
.tsl-foundation-kicker,
.tsl-index-kicker,
.tsl-page-kicker,
.tsl-public-kicker,
.tsl-pro-kicker,
.tsl-kicker {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  text-align: center !important;

  height: auto !important;
  min-height: 30px !important;
  width: auto !important;
  max-width: max-content !important;

  padding: 6px 12px !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;

  color: #2563eb !important;
  background: rgba(37, 99, 235, 0.10) !important;
  border: 1px solid rgba(37, 99, 235, 0.18) !important;
  border-radius: 6px !important;
  box-shadow: none !important;

  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Defensive: if any pill has nested text/span, center that too */
.tsl-clean-kicker *,
.tsl-foundation-kicker *,
.tsl-index-kicker *,
.tsl-page-kicker *,
.tsl-public-kicker *,
.tsl-pro-kicker *,
.tsl-kicker * {
  line-height: 1 !important;
  vertical-align: middle !important;
}

/* =========================================================
   TSL FINAL CRUMB + KICKER CLASS NORMALIZATION
   Use the /articles/ parent style as the standard:
   .tsl-crumb + .tsl-kicker
   ========================================================= */

.tsl-crumb {
  display: block !important;
  color: #64748b !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 0 18px !important;
}

.tsl-crumb a {
  color: #64748b !important;
  text-decoration: none !important;
}

.tsl-crumb a:hover {
  color: #2563eb !important;
}

.tsl-kicker {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;

  min-height: 30px !important;
  width: fit-content !important;
  max-width: max-content !important;

  padding: 6px 12px !important;
  margin: 0 0 18px !important;

  color: #2563eb !important;
  background: rgba(37, 99, 235, 0.10) !important;
  border: 1px solid rgba(37, 99, 235, 0.18) !important;
  border-radius: 6px !important;
  box-shadow: none !important;

  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* Article child pages should use the same top vertical rhythm as /articles/ */
body.tsl-clean-article-page .tsl-clean-article-shell {
  padding-top: 38px !important;
}

/* TSL_DARK_MODE_SHARED_CSS_POLISH_V3
   Late-loaded dark overrides.
   This file loads after the page-specific article CSS, so it is the right
   place to normalize article/index/homepage cards without fighting load order.
*/
html[data-tsl-theme="dark"] .tsl-pro-article,
html[data-tsl-theme="dark"] .tsl-articles-index{
  --bg:#07111f!important;
  --card:#0b1628!important;
  --soft:#101f35!important;
  --line:rgba(148,163,184,.22)!important;
  --line2:rgba(148,163,184,.28)!important;
  --text:#e5edf7!important;
  --sub:#b6c3d3!important;
  --muted:#94a3b8!important;
  --blue:#60a5fa!important;
  --blue-soft:rgba(37,99,235,.16)!important;
  background:transparent!important;
  color:#e5edf7!important;
}

html[data-tsl-theme="dark"] .tsl-foundation-shell,
html[data-tsl-theme="dark"] .tsl-index-shell,
html[data-tsl-theme="dark"] .tsl-pro-shell,
html[data-tsl-theme="dark"] .tsl-page-shell,
html[data-tsl-theme="dark"] .tsl-public-shell,
html[data-tsl-theme="dark"] .tsl-clean-article-shell{
  background:transparent!important;
}

html[data-tsl-theme="dark"] .tsl-foundation-title,
html[data-tsl-theme="dark"] .tsl-index-title,
html[data-tsl-theme="dark"] .tsl-page-title,
html[data-tsl-theme="dark"] .tsl-public-title,
html[data-tsl-theme="dark"] .tsl-clean-h1,
html[data-tsl-theme="dark"] .tsl-title,
html[data-tsl-theme="dark"] .tsl-pro-title,
html[data-tsl-theme="dark"] .tsl-section h2,
html[data-tsl-theme="dark"] .tsl-clean-section h2,
html[data-tsl-theme="dark"] .tsl-card-title,
html[data-tsl-theme="dark"] .tsl-model-primary,
html[data-tsl-theme="dark"] .tsl-related strong{
  color:#eaf2ff!important;
  text-shadow:none!important;
}

html[data-tsl-theme="dark"] .tsl-foundation-title span,
html[data-tsl-theme="dark"] .tsl-index-title span,
html[data-tsl-theme="dark"] .tsl-page-title span,
html[data-tsl-theme="dark"] .tsl-public-title span,
html[data-tsl-theme="dark"] .tsl-clean-h1 span,
html[data-tsl-theme="dark"] .tsl-title span,
html[data-tsl-theme="dark"] .tsl-pro-title span{
  color:#60a5fa!important;
}

html[data-tsl-theme="dark"] .tsl-foundation-deck,
html[data-tsl-theme="dark"] .tsl-index-deck,
html[data-tsl-theme="dark"] .tsl-page-deck,
html[data-tsl-theme="dark"] .tsl-public-deck,
html[data-tsl-theme="dark"] .tsl-clean-deck,
html[data-tsl-theme="dark"] .tsl-deck,
html[data-tsl-theme="dark"] .tsl-pro-deck,
html[data-tsl-theme="dark"] .tsl-section p,
html[data-tsl-theme="dark"] .tsl-clean-prose p,
html[data-tsl-theme="dark"] .tsl-card-desc,
html[data-tsl-theme="dark"] .tsl-model-secondary,
html[data-tsl-theme="dark"] .tsl-related span{
  color:#b6c3d3!important;
}

html[data-tsl-theme="dark"] .tsl-foundation-crumb,
html[data-tsl-theme="dark"] .tsl-index-crumb,
html[data-tsl-theme="dark"] .tsl-page-crumb,
html[data-tsl-theme="dark"] .tsl-public-crumb,
html[data-tsl-theme="dark"] .tsl-breadcrumb,
html[data-tsl-theme="dark"] .tsl-clean-crumb,
html[data-tsl-theme="dark"] .tsl-crumb,
html[data-tsl-theme="dark"] .tsl-pro-crumb,
html[data-tsl-theme="dark"] .tsl-card-meta{
  color:#94a3b8!important;
}

html[data-tsl-theme="dark"] .tsl-foundation-kicker,
html[data-tsl-theme="dark"] .tsl-index-kicker,
html[data-tsl-theme="dark"] .tsl-page-kicker,
html[data-tsl-theme="dark"] .tsl-public-kicker,
html[data-tsl-theme="dark"] .tsl-clean-kicker,
html[data-tsl-theme="dark"] .tsl-kicker,
html[data-tsl-theme="dark"] .tsl-pro-kicker,
html[data-tsl-theme="dark"] .tsl-tag,
html[data-tsl-theme="dark"] .tsl-model-label{
  color:#60a5fa!important;
  background:rgba(37,99,235,.16)!important;
  border-color:rgba(96,165,250,.30)!important;
}

html[data-tsl-theme="dark"] .tsl-card,
html[data-tsl-theme="dark"] .tsl-model-card,
html[data-tsl-theme="dark"] .tsl-foundation-card,
html[data-tsl-theme="dark"] .tsl-tool-card,
html[data-tsl-theme="dark"] .tsl-auth-card,
html[data-tsl-theme="dark"] .tsl-auth-panel,
html[data-tsl-theme="dark"] .tsl-related a,
html[data-tsl-theme="dark"] .tsl-snapshot,
html[data-tsl-theme="dark"] .tsl-side-card,
html[data-tsl-theme="dark"] .tsl-clean-side-card{
  background:linear-gradient(180deg,#0f1d32 0%,#0b1628 100%)!important;
  border-color:rgba(148,163,184,.22)!important;
  color:#e5edf7!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
}

html[data-tsl-theme="dark"] .tsl-card:hover,
html[data-tsl-theme="dark"] .tsl-model-card:hover,
html[data-tsl-theme="dark"] .tsl-foundation-card:hover,
html[data-tsl-theme="dark"] .tsl-related a:hover{
  border-color:rgba(96,165,250,.55)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.28)!important;
}

html[data-tsl-theme="dark"] .tsl-note,
html[data-tsl-theme="dark"] .tsl-clean-note,
html[data-tsl-theme="dark"] .tsl-disclaimer-box,
html[data-tsl-theme="dark"] .tsl-foundation-note,
html[data-tsl-theme="dark"] .tsl-clean-disclaimer,
html[data-tsl-theme="dark"] .tsl-risk-disclaimer{
  background:rgba(15,31,53,.92)!important;
  border-color:rgba(96,165,250,.28)!important;
  color:#cbd5e1!important;
  box-shadow:none!important;
}
html[data-tsl-theme="dark"] .tsl-note strong,
html[data-tsl-theme="dark"] .tsl-clean-note strong,
html[data-tsl-theme="dark"] .tsl-clean-disclaimer strong{
  color:#93c5fd!important;
}

html[data-tsl-theme="dark"] .tsl-cta,
html[data-tsl-theme="dark"] .tsl-clean-cta,
html[data-tsl-theme="dark"] .tsl-pro-cta,
html[data-tsl-theme="dark"] .tsl-next-step-card,
html[data-tsl-theme="dark"] .tsl-clean-callout{
  background:linear-gradient(135deg,rgba(37,99,235,.18),rgba(15,31,53,.96))!important;
  border-color:rgba(96,165,250,.30)!important;
  color:#e5edf7!important;
  box-shadow:0 18px 48px rgba(0,0,0,.20)!important;
}
html[data-tsl-theme="dark"] .tsl-cta h2,
html[data-tsl-theme="dark"] .tsl-clean-cta h2,
html[data-tsl-theme="dark"] .tsl-pro-cta h2,
html[data-tsl-theme="dark"] .tsl-next-step-card h2,
html[data-tsl-theme="dark"] .tsl-clean-callout h2{
  color:#eaf2ff!important;
}
html[data-tsl-theme="dark"] .tsl-cta p,
html[data-tsl-theme="dark"] .tsl-clean-cta p,
html[data-tsl-theme="dark"] .tsl-pro-cta p,
html[data-tsl-theme="dark"] .tsl-next-step-card p,
html[data-tsl-theme="dark"] .tsl-clean-callout p{
  color:#b6c3d3!important;
}

html[data-tsl-theme="dark"] .tsl-clean-meta{
  border-color:rgba(148,163,184,.18)!important;
  color:#94a3b8!important;
}

html[data-tsl-theme="dark"] .tsl-clean-prose h3,
html[data-tsl-theme="dark"] .tsl-clean-prose strong,
html[data-tsl-theme="dark"] .tsl-clean-prose b{
  color:#eaf2ff!important;
}

html[data-tsl-theme="dark"] .tsl-clean-prose a,
html[data-tsl-theme="dark"] .tsl-pro-article a,
html[data-tsl-theme="dark"] .tsl-articles-index a{
  color:#93c5fd!important;
}

html[data-tsl-theme="dark"] .tsl-btn,
html[data-tsl-theme="dark"] .tsl-clean-btn,
html[data-tsl-theme="dark"] .tsl-button{
  background:#2563eb!important;
  color:#fff!important;
  border-color:#2563eb!important;
}

/* TSL_SHARED_UI_CLEANUP_V4
   Shared light/dark surface cleanup.
   This belongs here because tsl-worldwide-article-theme.css loads late on
   home, article index, article detail, and most public pages.
*/

/* Light mode: make the shared surface family explicit and consistent. */
html[data-tsl-theme="light"] .tsl-model-card,
html[data-tsl-theme="light"] .tsl-card,
html[data-tsl-theme="light"] .tsl-related a,
html[data-tsl-theme="light"] .tsl-side-card,
html[data-tsl-theme="light"] .tsl-clean-side-card,
html[data-tsl-theme="light"] .tsl-clean-callout{
  background:#ffffff!important;
  background-color:#ffffff!important;
  border-color:rgba(15,23,42,.12)!important;
  color:#0f172a!important;
}
html[data-tsl-theme="light"] .tsl-model-card p,
html[data-tsl-theme="light"] .tsl-card-desc,
html[data-tsl-theme="light"] .tsl-related a span,
html[data-tsl-theme="light"] .tsl-side-card a{
  color:#475569!important;
}

/* Dark mode: heroes should not turn into dark rectangular cards. */
html[data-tsl-theme="dark"] .tsl-clean-hero,
html[data-tsl-theme="dark"] .tsl-foundation-hero,
html[data-tsl-theme="dark"] .tsl-index-hero,
html[data-tsl-theme="dark"] .tsl-public-hero,
html[data-tsl-theme="dark"] .tsl-pro-hero{
  background:transparent!important;
  background-color:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
html[data-tsl-theme="dark"] .tsl-clean-hero:before,
html[data-tsl-theme="dark"] .tsl-foundation-hero:before,
html[data-tsl-theme="dark"] .tsl-index-hero:before,
html[data-tsl-theme="dark"] .tsl-public-hero:before,
html[data-tsl-theme="dark"] .tsl-pro-hero:before{
  display:none!important;
}

/* Dark mode: shared card family. More specific than v1/v2 light-card rules. */
html[data-tsl-theme="dark"] a.tsl-model-card,
html[data-tsl-theme="dark"] .tsl-model-grid .tsl-model-card,
html[data-tsl-theme="dark"] .tsl-grid .tsl-card,
html[data-tsl-theme="dark"] a.tsl-card,
html[data-tsl-theme="dark"] .tsl-card,
html[data-tsl-theme="dark"] .tsl-related a,
html[data-tsl-theme="dark"] .tsl-side-card,
html[data-tsl-theme="dark"] .tsl-clean-side-card,
html[data-tsl-theme="dark"] .tsl-auth-card,
html[data-tsl-theme="dark"] .tsl-auth-panel,
html[data-tsl-theme="dark"] .tsl-pricing-card,
html[data-tsl-theme="dark"] .tsl-panel{
  background:linear-gradient(180deg,#0f1d32 0%,#0b1628 100%)!important;
  background-color:#0b1628!important;
  border:1px solid rgba(148,163,184,.22)!important;
  color:#e5edf7!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
}

html[data-tsl-theme="dark"] a.tsl-model-card:hover,
html[data-tsl-theme="dark"] .tsl-model-grid .tsl-model-card:hover,
html[data-tsl-theme="dark"] .tsl-grid .tsl-card:hover,
html[data-tsl-theme="dark"] .tsl-related a:hover{
  border-color:rgba(96,165,250,.55)!important;
  transform:translateY(-1px);
  box-shadow:0 24px 64px rgba(0,0,0,.30)!important;
}

/* Dark text hierarchy on shared cards. */
html[data-tsl-theme="dark"] .tsl-model-card h2,
html[data-tsl-theme="dark"] .tsl-model-card h3,
html[data-tsl-theme="dark"] .tsl-model-card strong,
html[data-tsl-theme="dark"] .tsl-card-title,
html[data-tsl-theme="dark"] .tsl-card h2,
html[data-tsl-theme="dark"] .tsl-card h3,
html[data-tsl-theme="dark"] .tsl-related a strong,
html[data-tsl-theme="dark"] .tsl-related strong,
html[data-tsl-theme="dark"] .tsl-side-title,
html[data-tsl-theme="dark"] .tsl-side-card h2,
html[data-tsl-theme="dark"] .tsl-side-card h3{
  color:#f1f7ff!important;
}
html[data-tsl-theme="dark"] .tsl-model-card p,
html[data-tsl-theme="dark"] .tsl-card-desc,
html[data-tsl-theme="dark"] .tsl-card-meta,
html[data-tsl-theme="dark"] .tsl-related a span,
html[data-tsl-theme="dark"] .tsl-related span,
html[data-tsl-theme="dark"] .tsl-side-card p,
html[data-tsl-theme="dark"] .tsl-side-card li{
  color:#b6c3d3!important;
}
html[data-tsl-theme="dark"] .tsl-side-card a,
html[data-tsl-theme="dark"] .tsl-clean-side-card a{
  color:#cbd5e1!important;
}
html[data-tsl-theme="dark"] .tsl-side-card a:hover,
html[data-tsl-theme="dark"] .tsl-clean-side-card a:hover{
  color:#93c5fd!important;
}

/* Dark mode: repeated label/kicker family. */
html[data-tsl-theme="dark"] .tsl-model-label,
html[data-tsl-theme="dark"] .tsl-tag,
html[data-tsl-theme="dark"] .tsl-kicker,
html[data-tsl-theme="dark"] .tsl-clean-kicker,
html[data-tsl-theme="dark"] .tsl-foundation-kicker,
html[data-tsl-theme="dark"] .tsl-index-kicker,
html[data-tsl-theme="dark"] .tsl-page-kicker{
  background:rgba(37,99,235,.16)!important;
  border-color:rgba(96,165,250,.30)!important;
  color:#93c5fd!important;
}

/* Dark mode: make CTA/callout surfaces premium, not washed-out. */
html[data-tsl-theme="dark"] .tsl-clean-cta,
html[data-tsl-theme="dark"] .tsl-pro-cta,
html[data-tsl-theme="dark"] .tsl-cta,
html[data-tsl-theme="dark"] .tsl-next-step-card,
html[data-tsl-theme="dark"] .tsl-clean-callout{
  background:
    radial-gradient(circle at top left,rgba(37,99,235,.24),transparent 38%),
    linear-gradient(135deg,#0f1d32 0%,#0b1628 100%)!important;
  border-color:rgba(96,165,250,.34)!important;
  color:#e5edf7!important;
  box-shadow:0 20px 54px rgba(0,0,0,.24)!important;
}
html[data-tsl-theme="dark"] .tsl-clean-cta h2,
html[data-tsl-theme="dark"] .tsl-pro-cta h2,
html[data-tsl-theme="dark"] .tsl-cta h2,
html[data-tsl-theme="dark"] .tsl-next-step-card h2,
html[data-tsl-theme="dark"] .tsl-clean-callout h2{
  color:#f1f7ff!important;
}
html[data-tsl-theme="dark"] .tsl-clean-cta p,
html[data-tsl-theme="dark"] .tsl-pro-cta p,
html[data-tsl-theme="dark"] .tsl-cta p,
html[data-tsl-theme="dark"] .tsl-next-step-card p,
html[data-tsl-theme="dark"] .tsl-clean-callout p{
  color:#b6c3d3!important;
}

/* Dark mode: notes/disclaimers should be consistent, not bright white. */
html[data-tsl-theme="dark"] .tsl-clean-note,
html[data-tsl-theme="dark"] .tsl-pro-note,
html[data-tsl-theme="dark"] .tsl-note,
html[data-tsl-theme="dark"] .tsl-disclaimer-box,
html[data-tsl-theme="dark"] .tsl-foundation-note,
html[data-tsl-theme="dark"] .tsl-clean-disclaimer,
html[data-tsl-theme="dark"] .tsl-risk-disclaimer,
html[data-tsl-theme="dark"] .tsl-empty-state{
  background:rgba(15,31,53,.92)!important;
  border-color:rgba(96,165,250,.28)!important;
  color:#cbd5e1!important;
  box-shadow:none!important;
}
html[data-tsl-theme="dark"] .tsl-clean-note strong,
html[data-tsl-theme="dark"] .tsl-pro-note strong,
html[data-tsl-theme="dark"] .tsl-note strong,
html[data-tsl-theme="dark"] .tsl-disclaimer-box strong,
html[data-tsl-theme="dark"] .tsl-foundation-note strong,
html[data-tsl-theme="dark"] .tsl-clean-disclaimer strong{
  color:#93c5fd!important;
}

/* Dark article prose. */
html[data-tsl-theme="dark"] .tsl-clean-prose h2,
html[data-tsl-theme="dark"] .tsl-clean-prose h3,
html[data-tsl-theme="dark"] .tsl-clean-section h2,
html[data-tsl-theme="dark"] .tsl-section h2{
  color:#f1f7ff!important;
}
html[data-tsl-theme="dark"] .tsl-clean-prose p,
html[data-tsl-theme="dark"] .tsl-clean-prose li,
html[data-tsl-theme="dark"] .tsl-section p{
  color:#b6c3d3!important;
}
html[data-tsl-theme="dark"] .tsl-clean-meta{
  color:#94a3b8!important;
  border-color:rgba(148,163,184,.18)!important;
}

/* TSL_SHARED_UI_DARK_LIGHT_POLISH_V5
   Late shared polish after v4.
   This is focused on the exact remaining visible issues:
   card tag strips, account page cells, tables, washed CTA cards, footer logo.
*/

/* Logo: keep the header mark blue, keep the mountain white for contrast,
   but let the footer wordmark use the brand blue in dark mode. */
html[data-tsl-theme="dark"] .tsl-compatible-logo__text{
  color:#3b82f6!important;
}
html[data-tsl-theme="dark"] .tsl-compatible-logo__mark svg circle{
  fill:#2563eb!important;
}
html[data-tsl-theme="dark"] .tsl-tv-footer__logo{
  color:#60a5fa!important;
}

/* Article/index card tags: compact premium pills, not full-width header strips. */
.tsl-card > .tsl-tag,
.tsl-model-card > .tsl-model-label,
.tsl-related a > .tsl-tag{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:max-content!important;
  min-height:24px!important;
  border-radius:999px!important;
  padding:5px 9px!important;
  margin:0 0 14px!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.10em!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
}
html[data-tsl-theme="light"] .tsl-card > .tsl-tag,
html[data-tsl-theme="light"] .tsl-model-card > .tsl-model-label,
html[data-tsl-theme="light"] .tsl-related a > .tsl-tag{
  background:#eff6ff!important;
  border:1px solid #bfdbfe!important;
  color:#2563eb!important;
}
html[data-tsl-theme="dark"] .tsl-card > .tsl-tag,
html[data-tsl-theme="dark"] .tsl-model-card > .tsl-model-label,
html[data-tsl-theme="dark"] .tsl-related a > .tsl-tag{
  background:rgba(37,99,235,.18)!important;
  border:1px solid rgba(96,165,250,.32)!important;
  color:#93c5fd!important;
}

/* Article cards: improve internal spacing and remove strip-like visual rhythm. */
.tsl-grid .tsl-card,
.tsl-model-grid .tsl-model-card,
.tsl-related a{
  overflow:hidden!important;
}
html[data-tsl-theme="dark"] .tsl-grid .tsl-card,
html[data-tsl-theme="dark"] .tsl-model-grid .tsl-model-card,
html[data-tsl-theme="dark"] .tsl-related a{
  background:
    radial-gradient(circle at top left,rgba(37,99,235,.10),transparent 34%),
    linear-gradient(180deg,#0f1d32 0%,#0b1628 100%)!important;
}

/* Tables: prevent white table bodies in dark articles/homepage. */
html[data-tsl-theme="dark"] .tsl-clean-prose table,
html[data-tsl-theme="dark"] .tsl-section table,
html[data-tsl-theme="dark"] .tsl-foundation-shell table,
html[data-tsl-theme="dark"] table{
  background:#0b1628!important;
  border-color:rgba(148,163,184,.24)!important;
  color:#dbeafe!important;
}
html[data-tsl-theme="dark"] .tsl-clean-prose thead,
html[data-tsl-theme="dark"] .tsl-section thead,
html[data-tsl-theme="dark"] .tsl-foundation-shell thead,
html[data-tsl-theme="dark"] thead{
  background:#18263a!important;
}
html[data-tsl-theme="dark"] .tsl-clean-prose th,
html[data-tsl-theme="dark"] .tsl-section th,
html[data-tsl-theme="dark"] .tsl-foundation-shell th,
html[data-tsl-theme="dark"] th{
  background:#18263a!important;
  color:#f1f7ff!important;
  border-color:rgba(148,163,184,.24)!important;
}
html[data-tsl-theme="dark"] .tsl-clean-prose td,
html[data-tsl-theme="dark"] .tsl-section td,
html[data-tsl-theme="dark"] .tsl-foundation-shell td,
html[data-tsl-theme="dark"] td{
  background:#0b1628!important;
  color:#cbd5e1!important;
  border-color:rgba(148,163,184,.18)!important;
}
html[data-tsl-theme="dark"] .tsl-clean-prose tr:nth-child(even) td,
html[data-tsl-theme="dark"] .tsl-section tr:nth-child(even) td,
html[data-tsl-theme="dark"] .tsl-foundation-shell tr:nth-child(even) td{
  background:#0e1b2e!important;
}

/* CTA/promo cards: force one premium dark style even when older gradients load before. */
html[data-tsl-theme="dark"] .tsl-foundation-shell .tsl-clean-cta,
html[data-tsl-theme="dark"] .tsl-index-shell .tsl-clean-cta,
html[data-tsl-theme="dark"] .tsl-page-shell .tsl-clean-cta,
html[data-tsl-theme="dark"] .tsl-public-shell .tsl-clean-cta,
html[data-tsl-theme="dark"] .tsl-pro-article .tsl-clean-cta,
html[data-tsl-theme="dark"] .tsl-pro-article .tsl-pro-cta,
html[data-tsl-theme="dark"] .tsl-pro-article .tsl-cta,
html[data-tsl-theme="dark"] .tsl-next-step-card,
html[data-tsl-theme="dark"] .tsl-clean-callout{
  background:
    radial-gradient(circle at 12% 0%,rgba(37,99,235,.26),transparent 32%),
    linear-gradient(135deg,#10233e 0%,#0b1628 55%,#07111f 100%)!important;
  border:1px solid rgba(96,165,250,.34)!important;
  color:#eaf2ff!important;
  box-shadow:0 22px 64px rgba(0,0,0,.28)!important;
}
html[data-tsl-theme="dark"] .tsl-foundation-shell .tsl-clean-cta h2,
html[data-tsl-theme="dark"] .tsl-index-shell .tsl-clean-cta h2,
html[data-tsl-theme="dark"] .tsl-page-shell .tsl-clean-cta h2,
html[data-tsl-theme="dark"] .tsl-public-shell .tsl-clean-cta h2,
html[data-tsl-theme="dark"] .tsl-pro-article .tsl-clean-cta h2,
html[data-tsl-theme="dark"] .tsl-pro-article .tsl-pro-cta h2,
html[data-tsl-theme="dark"] .tsl-pro-article .tsl-cta h2,
html[data-tsl-theme="dark"] .tsl-next-step-card h2,
html[data-tsl-theme="dark"] .tsl-clean-callout h2{
  color:#f8fbff!important;
}
html[data-tsl-theme="dark"] .tsl-foundation-shell .tsl-clean-cta p,
html[data-tsl-theme="dark"] .tsl-index-shell .tsl-clean-cta p,
html[data-tsl-theme="dark"] .tsl-page-shell .tsl-clean-cta p,
html[data-tsl-theme="dark"] .tsl-public-shell .tsl-clean-cta p,
html[data-tsl-theme="dark"] .tsl-pro-article .tsl-clean-cta p,
html[data-tsl-theme="dark"] .tsl-pro-article .tsl-pro-cta p,
html[data-tsl-theme="dark"] .tsl-pro-article .tsl-cta p,
html[data-tsl-theme="dark"] .tsl-next-step-card p,
html[data-tsl-theme="dark"] .tsl-clean-callout p{
  color:#b6c3d3!important;
}

/* Account page: fix white grid cards and secondary buttons in dark mode. */
html[data-tsl-theme="dark"] .tsl-auth-card{
  background:
    radial-gradient(circle at top left,rgba(37,99,235,.16),transparent 34%),
    linear-gradient(180deg,#0f1d32 0%,#0b1628 100%)!important;
  border-color:rgba(148,163,184,.22)!important;
}
html[data-tsl-theme="dark"] .tsl-auth-card-head h2{
  color:#f8fbff!important;
}
html[data-tsl-theme="dark"] .tsl-auth-card-head p,
html[data-tsl-theme="dark"] .tsl-auth-card-head p strong{
  color:#b6c3d3!important;
}
html[data-tsl-theme="dark"] .tsl-account-grid > div{
  background:#071225!important;
  border:1px solid rgba(148,163,184,.22)!important;
  color:#e5edf7!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important;
}
html[data-tsl-theme="dark"] .tsl-account-grid span{
  color:#8aa0bb!important;
}
html[data-tsl-theme="dark"] .tsl-account-grid strong{
  color:#eaf2ff!important;
}
html[data-tsl-theme="dark"] .tsl-auth-secondary,
html[data-tsl-theme="dark"] .tsl-auth-linkbtn,
html[data-tsl-theme="dark"] .tsl-watchlist-account{
  background:#0b1628!important;
  border-color:rgba(148,163,184,.26)!important;
  color:#dbeafe!important;
}
html[data-tsl-theme="dark"] .tsl-auth-secondary:hover,
html[data-tsl-theme="dark"] .tsl-auth-linkbtn:hover,
html[data-tsl-theme="dark"] .tsl-watchlist-account:hover{
  border-color:rgba(96,165,250,.48)!important;
  color:#93c5fd!important;
}
html[data-tsl-theme="dark"] .tsl-auth-secondary:disabled,
html[data-tsl-theme="dark"] .tsl-auth-secondary[aria-disabled="true"]{
  background:#111c2f!important;
  border-color:rgba(148,163,184,.16)!important;
  color:#64748b!important;
  opacity:1!important;
}
html[data-tsl-theme="dark"] .tsl-auth-google{
  background:#071225!important;
  border-color:rgba(148,163,184,.24)!important;
  color:#eaf2ff!important;
}
html[data-tsl-theme="dark"] .tsl-auth-divider:before,
html[data-tsl-theme="dark"] .tsl-auth-divider:after{
  background:rgba(148,163,184,.22)!important;
}
html[data-tsl-theme="dark"] .tsl-auth-divider span{
  color:#94a3b8!important;
  background:#0b1628!important;
}
html[data-tsl-theme="dark"] .tsl-auth-message{
  color:#94a3b8!important;
}

/* Light mode account cards remain premium white, but with clearer borders. */
html[data-tsl-theme="light"] .tsl-account-grid > div{
  background:#f8fbff!important;
  border-color:rgba(15,23,42,.10)!important;
}

/* Generic article card meta should be quieter and consistent. */
html[data-tsl-theme="dark"] .tsl-card-meta{
  color:#89a1bd!important;
}
html[data-tsl-theme="light"] .tsl-card-meta{
  color:#64748b!important;
}

/* TSL_SHARED_CTA_FOUNDATION_POLISH_V6
   Shared CTA/foundation polish.
   Fixes /tools/ bottom promo card by adding .tsl-foundation-cta to the
   same visual family as article CTA cards.
*/

/* Shared CTA structure across foundation/tools/articles. */
.tsl-foundation-cta,
.tsl-clean-cta,
.tsl-pro-cta,
.tsl-cta,
.tsl-next-step-card,
.tsl-clean-callout{
  position:relative!important;
  overflow:hidden!important;
  border-radius:20px!important;
}
.tsl-foundation-cta h2,
.tsl-clean-cta h2,
.tsl-pro-cta h2,
.tsl-cta h2,
.tsl-next-step-card h2,
.tsl-clean-callout h2{
  margin-top:0!important;
  letter-spacing:-.035em!important;
}
.tsl-foundation-cta p,
.tsl-clean-cta p,
.tsl-pro-cta p,
.tsl-cta p,
.tsl-next-step-card p,
.tsl-clean-callout p{
  max-width:760px!important;
}

/* Light mode CTA: keep premium, subtle, and shared. */
html[data-tsl-theme="light"] .tsl-foundation-cta,
html[data-tsl-theme="light"] .tsl-clean-cta,
html[data-tsl-theme="light"] .tsl-pro-cta,
html[data-tsl-theme="light"] .tsl-cta,
html[data-tsl-theme="light"] .tsl-next-step-card,
html[data-tsl-theme="light"] .tsl-clean-callout{
  background:
    radial-gradient(circle at 10% 0%,rgba(37,99,235,.10),transparent 34%),
    linear-gradient(135deg,#eff6ff 0%,#ffffff 72%)!important;
  border:1px solid rgba(37,99,235,.20)!important;
  color:#0f172a!important;
  box-shadow:0 18px 46px rgba(15,23,42,.08)!important;
}
html[data-tsl-theme="light"] .tsl-foundation-cta h2,
html[data-tsl-theme="light"] .tsl-clean-cta h2,
html[data-tsl-theme="light"] .tsl-pro-cta h2,
html[data-tsl-theme="light"] .tsl-cta h2,
html[data-tsl-theme="light"] .tsl-next-step-card h2,
html[data-tsl-theme="light"] .tsl-clean-callout h2{
  color:#0f172a!important;
}
html[data-tsl-theme="light"] .tsl-foundation-cta p,
html[data-tsl-theme="light"] .tsl-clean-cta p,
html[data-tsl-theme="light"] .tsl-pro-cta p,
html[data-tsl-theme="light"] .tsl-cta p,
html[data-tsl-theme="light"] .tsl-next-step-card p,
html[data-tsl-theme="light"] .tsl-clean-callout p{
  color:#475569!important;
}

/* Dark mode CTA: remove the grey/white wash and use the article CTA family. */
html[data-tsl-theme="dark"] .tsl-foundation-cta,
html[data-tsl-theme="dark"] .tsl-clean-cta,
html[data-tsl-theme="dark"] .tsl-pro-cta,
html[data-tsl-theme="dark"] .tsl-cta,
html[data-tsl-theme="dark"] .tsl-next-step-card,
html[data-tsl-theme="dark"] .tsl-clean-callout{
  background:
    radial-gradient(circle at 12% 0%,rgba(37,99,235,.28),transparent 34%),
    radial-gradient(circle at 92% 12%,rgba(14,165,233,.10),transparent 32%),
    linear-gradient(135deg,#10233e 0%,#0b1628 58%,#07111f 100%)!important;
  background-color:#0b1628!important;
  border:1px solid rgba(96,165,250,.34)!important;
  color:#eaf2ff!important;
  box-shadow:0 22px 64px rgba(0,0,0,.28)!important;
}
html[data-tsl-theme="dark"] .tsl-foundation-cta h2,
html[data-tsl-theme="dark"] .tsl-clean-cta h2,
html[data-tsl-theme="dark"] .tsl-pro-cta h2,
html[data-tsl-theme="dark"] .tsl-cta h2,
html[data-tsl-theme="dark"] .tsl-next-step-card h2,
html[data-tsl-theme="dark"] .tsl-clean-callout h2{
  color:#f8fbff!important;
  text-shadow:none!important;
}
html[data-tsl-theme="dark"] .tsl-foundation-cta p,
html[data-tsl-theme="dark"] .tsl-clean-cta p,
html[data-tsl-theme="dark"] .tsl-pro-cta p,
html[data-tsl-theme="dark"] .tsl-cta p,
html[data-tsl-theme="dark"] .tsl-next-step-card p,
html[data-tsl-theme="dark"] .tsl-clean-callout p{
  color:#b6c3d3!important;
}

/* Shared CTA buttons. */
.tsl-foundation-btn,
.tsl-clean-btn,
.tsl-pro-btn,
.tsl-cta .tsl-btn,
.tsl-next-step-card .tsl-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  border-radius:11px!important;
  padding:0 16px!important;
  font-weight:950!important;
  text-decoration:none!important;
}
html[data-tsl-theme="dark"] .tsl-foundation-btn,
html[data-tsl-theme="dark"] .tsl-clean-btn,
html[data-tsl-theme="dark"] .tsl-pro-btn,
html[data-tsl-theme="dark"] .tsl-cta .tsl-btn,
html[data-tsl-theme="dark"] .tsl-next-step-card .tsl-btn{
  background:#2563eb!important;
  border-color:#2563eb!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(37,99,235,.22)!important;
}

/* Foundation page cards should use the same premium card language as article cards. */
html[data-tsl-theme="dark"] .tsl-foundation-card{
  background:
    radial-gradient(circle at top left,rgba(37,99,235,.10),transparent 34%),
    linear-gradient(180deg,#0f1d32 0%,#0b1628 100%)!important;
  border:1px solid rgba(148,163,184,.22)!important;
  color:#e5edf7!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
}
html[data-tsl-theme="dark"] .tsl-foundation-card:hover{
  border-color:rgba(96,165,250,.55)!important;
  box-shadow:0 24px 64px rgba(0,0,0,.30)!important;
}
html[data-tsl-theme="dark"] .tsl-foundation-card h2{
  color:#f1f7ff!important;
}
html[data-tsl-theme="dark"] .tsl-foundation-card p{
  color:#b6c3d3!important;
}

/* Foundation tags: compact pills like article tags, not strip headers. */
.tsl-foundation-card > .tsl-foundation-tag{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:max-content!important;
  min-height:24px!important;
  border-radius:999px!important;
  padding:5px 9px!important;
  margin:0 0 14px!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.10em!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
}
html[data-tsl-theme="light"] .tsl-foundation-card > .tsl-foundation-tag{
  background:#eff6ff!important;
  border:1px solid #bfdbfe!important;
  color:#2563eb!important;
}
html[data-tsl-theme="dark"] .tsl-foundation-card > .tsl-foundation-tag{
  background:rgba(37,99,235,.18)!important;
  border:1px solid rgba(96,165,250,.32)!important;
  color:#93c5fd!important;
}

/* Foundation tables in dark mode: keep readable, but lower contrast than white. */
html[data-tsl-theme="dark"] .tsl-foundation-table{
  background:#0b1628!important;
  border-color:rgba(148,163,184,.24)!important;
  color:#dbeafe!important;
  overflow:hidden!important;
}
html[data-tsl-theme="dark"] .tsl-foundation-table th{
  background:#18263a!important;
  color:#f1f7ff!important;
  border-color:rgba(148,163,184,.24)!important;
}
html[data-tsl-theme="dark"] .tsl-foundation-table td{
  background:#0b1628!important;
  color:#cbd5e1!important;
  border-color:rgba(148,163,184,.18)!important;
}
html[data-tsl-theme="dark"] .tsl-foundation-table tr:nth-child(even) td{
  background:#0e1b2e!important;
}

/* Footer spacing: keep appearance control readable and not crammed at the bottom. */
.tsl-footer-theme-picker{
  padding-bottom:34px!important;
}

/* TSL_BREADCRUMB_SHARED_CARD_POLISH_V7
   Final shared breadcrumb + card-family polish.
   Breadcrumbs should be quiet location text. Blue is reserved for hover and
   brand/accent states, not the default breadcrumb line.
*/

/* Breadcrumb normalization across all public page families. */
.tsl-crumb,
.tsl-breadcrumb,
.tsl-clean-crumb,
.tsl-foundation-crumb,
.tsl-index-crumb,
.tsl-page-crumb,
.tsl-public-crumb,
.tsl-pro-crumb{
  display:block!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0 0 18px!important;
  border-radius:0!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:650!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.tsl-crumb *,
.tsl-breadcrumb *,
.tsl-clean-crumb *,
.tsl-foundation-crumb *,
.tsl-index-crumb *,
.tsl-page-crumb *,
.tsl-public-crumb *,
.tsl-pro-crumb *{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
  text-decoration:none!important;
}
html[data-tsl-theme="light"] .tsl-crumb,
html[data-tsl-theme="light"] .tsl-breadcrumb,
html[data-tsl-theme="light"] .tsl-clean-crumb,
html[data-tsl-theme="light"] .tsl-foundation-crumb,
html[data-tsl-theme="light"] .tsl-index-crumb,
html[data-tsl-theme="light"] .tsl-page-crumb,
html[data-tsl-theme="light"] .tsl-public-crumb,
html[data-tsl-theme="light"] .tsl-pro-crumb,
html[data-tsl-theme="light"] .tsl-crumb a,
html[data-tsl-theme="light"] .tsl-breadcrumb a,
html[data-tsl-theme="light"] .tsl-clean-crumb a,
html[data-tsl-theme="light"] .tsl-foundation-crumb a,
html[data-tsl-theme="light"] .tsl-index-crumb a,
html[data-tsl-theme="light"] .tsl-page-crumb a,
html[data-tsl-theme="light"] .tsl-public-crumb a,
html[data-tsl-theme="light"] .tsl-pro-crumb a,
html[data-tsl-theme="light"] .tsl-crumb span,
html[data-tsl-theme="light"] .tsl-breadcrumb span,
html[data-tsl-theme="light"] .tsl-clean-crumb span,
html[data-tsl-theme="light"] .tsl-foundation-crumb span,
html[data-tsl-theme="light"] .tsl-index-crumb span,
html[data-tsl-theme="light"] .tsl-page-crumb span,
html[data-tsl-theme="light"] .tsl-public-crumb span,
html[data-tsl-theme="light"] .tsl-pro-crumb span{
  color:#64748b!important;
}
html[data-tsl-theme="dark"] .tsl-crumb,
html[data-tsl-theme="dark"] .tsl-breadcrumb,
html[data-tsl-theme="dark"] .tsl-clean-crumb,
html[data-tsl-theme="dark"] .tsl-foundation-crumb,
html[data-tsl-theme="dark"] .tsl-index-crumb,
html[data-tsl-theme="dark"] .tsl-page-crumb,
html[data-tsl-theme="dark"] .tsl-public-crumb,
html[data-tsl-theme="dark"] .tsl-pro-crumb,
html[data-tsl-theme="dark"] .tsl-crumb a,
html[data-tsl-theme="dark"] .tsl-breadcrumb a,
html[data-tsl-theme="dark"] .tsl-clean-crumb a,
html[data-tsl-theme="dark"] .tsl-foundation-crumb a,
html[data-tsl-theme="dark"] .tsl-index-crumb a,
html[data-tsl-theme="dark"] .tsl-page-crumb a,
html[data-tsl-theme="dark"] .tsl-public-crumb a,
html[data-tsl-theme="dark"] .tsl-pro-crumb a,
html[data-tsl-theme="dark"] .tsl-crumb span,
html[data-tsl-theme="dark"] .tsl-breadcrumb span,
html[data-tsl-theme="dark"] .tsl-clean-crumb span,
html[data-tsl-theme="dark"] .tsl-foundation-crumb span,
html[data-tsl-theme="dark"] .tsl-index-crumb span,
html[data-tsl-theme="dark"] .tsl-page-crumb span,
html[data-tsl-theme="dark"] .tsl-public-crumb span,
html[data-tsl-theme="dark"] .tsl-pro-crumb span{
  color:#8ea3bd!important;
}
html[data-tsl-theme="light"] .tsl-crumb a:hover,
html[data-tsl-theme="light"] .tsl-breadcrumb a:hover,
html[data-tsl-theme="light"] .tsl-clean-crumb a:hover,
html[data-tsl-theme="light"] .tsl-foundation-crumb a:hover,
html[data-tsl-theme="light"] .tsl-index-crumb a:hover,
html[data-tsl-theme="light"] .tsl-page-crumb a:hover,
html[data-tsl-theme="light"] .tsl-public-crumb a:hover,
html[data-tsl-theme="light"] .tsl-pro-crumb a:hover{
  color:#2563eb!important;
}
html[data-tsl-theme="dark"] .tsl-crumb a:hover,
html[data-tsl-theme="dark"] .tsl-breadcrumb a:hover,
html[data-tsl-theme="dark"] .tsl-clean-crumb a:hover,
html[data-tsl-theme="dark"] .tsl-foundation-crumb a:hover,
html[data-tsl-theme="dark"] .tsl-index-crumb a:hover,
html[data-tsl-theme="dark"] .tsl-page-crumb a:hover,
html[data-tsl-theme="dark"] .tsl-public-crumb a:hover,
html[data-tsl-theme="dark"] .tsl-pro-crumb a:hover{
  color:#93c5fd!important;
}

/* Large promo CTA family:
   Use the strong CTA style for home/articles/tools promo cards only. */
.tsl-foundation-cta,
.tsl-clean-cta,
.tsl-pro-cta,
.tsl-cta,
.tsl-next-step-card,
.tsl-clean-callout{
  border-left-width:5px!important;
  border-left-style:solid!important;
  border-left-color:#2563eb!important;
}
html[data-tsl-theme="dark"] .tsl-foundation-cta,
html[data-tsl-theme="dark"] .tsl-clean-cta,
html[data-tsl-theme="dark"] .tsl-pro-cta,
html[data-tsl-theme="dark"] .tsl-cta,
html[data-tsl-theme="dark"] .tsl-next-step-card,
html[data-tsl-theme="dark"] .tsl-clean-callout{
  border-left-color:#3b82f6!important;
}

/* Small content cards:
   Same family as CTA, but lighter/smaller. Do not make all cards giant promo cards. */
html[data-tsl-theme="light"] .tsl-model-card,
html[data-tsl-theme="light"] .tsl-foundation-card,
html[data-tsl-theme="light"] .tsl-card,
html[data-tsl-theme="light"] .tsl-related a{
  background:
    radial-gradient(circle at top left,rgba(37,99,235,.045),transparent 30%),
    #ffffff!important;
  border:1px solid rgba(15,23,42,.12)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.055)!important;
}
html[data-tsl-theme="dark"] .tsl-model-card,
html[data-tsl-theme="dark"] .tsl-foundation-card,
html[data-tsl-theme="dark"] .tsl-card,
html[data-tsl-theme="dark"] .tsl-related a{
  background:
    radial-gradient(circle at top left,rgba(37,99,235,.11),transparent 34%),
    linear-gradient(180deg,#0f1d32 0%,#0b1628 100%)!important;
  border:1px solid rgba(96,165,250,.22)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
}
html[data-tsl-theme="dark"] .tsl-model-card:hover,
html[data-tsl-theme="dark"] .tsl-foundation-card:hover,
html[data-tsl-theme="dark"] .tsl-card:hover,
html[data-tsl-theme="dark"] .tsl-related a:hover{
  border-color:rgba(96,165,250,.48)!important;
}

/* Make the articles index hero width/background feel consistent with other pages. */
html[data-tsl-theme="dark"] .tsl-articles-index .tsl-title,
html[data-tsl-theme="dark"] .tsl-articles-index .tsl-deck{
  text-shadow:none!important;
}
html[data-tsl-theme="dark"] .tsl-articles-index .tsl-kicker{
  box-shadow:none!important;
}

/* Keep current-page breadcrumb segment readable but not blue-highlighted. */
html[data-tsl-theme="dark"] .tsl-crumb [aria-current="page"],
html[data-tsl-theme="dark"] .tsl-breadcrumb [aria-current="page"],
html[data-tsl-theme="dark"] .tsl-clean-crumb [aria-current="page"],
html[data-tsl-theme="dark"] .tsl-foundation-crumb [aria-current="page"],
html[data-tsl-theme="dark"] .tsl-index-crumb [aria-current="page"],
html[data-tsl-theme="dark"] .tsl-page-crumb [aria-current="page"],
html[data-tsl-theme="dark"] .tsl-public-crumb [aria-current="page"],
html[data-tsl-theme="dark"] .tsl-pro-crumb [aria-current="page"]{
  color:#cbd5e1!important;
  font-weight:750!important;
}
html[data-tsl-theme="light"] .tsl-crumb [aria-current="page"],
html[data-tsl-theme="light"] .tsl-breadcrumb [aria-current="page"],
html[data-tsl-theme="light"] .tsl-clean-crumb [aria-current="page"],
html[data-tsl-theme="light"] .tsl-foundation-crumb [aria-current="page"],
html[data-tsl-theme="light"] .tsl-index-crumb [aria-current="page"],
html[data-tsl-theme="light"] .tsl-page-crumb [aria-current="page"],
html[data-tsl-theme="light"] .tsl-public-crumb [aria-current="page"],
html[data-tsl-theme="light"] .tsl-pro-crumb [aria-current="page"]{
  color:#334155!important;
  font-weight:750!important;
}

