.terminal-home {
  --th-gold: var(--ds-gold);
  --th-teal: var(--ds-teal);
  --th-slab: #101613;
  --th-slab-ink: #f7f2e9;
  --th-slab-mute: rgb(247 242 233 / .7);
  --th-on-gold: #14110c;
  max-width: 100%;
  overflow-x: hidden;
  color: var(--ds-ink);
}

html[data-market-theme="dark"] .terminal-home {
  --th-slab: #070b09;
  --th-slab-ink: #fffdf8;
  --th-slab-mute: rgb(255 253 248 / .7);
}

.terminal-home main { overflow: visible; }
.terminal-grid { display: none; }
.terminal-hero {
  position: relative;
  isolation: isolate;
  min-height: calc(100dvh - var(--nc-navbar-height, 4.75rem));
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.hero-banner-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 58%;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  filter: sepia(.9) saturate(1.7) hue-rotate(8deg) brightness(.58) contrast(1.14);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 78%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 78%, transparent 100%);
}
.hero-light {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 78%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 78%, transparent 100%);
  background:
    radial-gradient(ellipse 62% 48% at 50% 8%, color-mix(in srgb, var(--th-gold) 46%, transparent), transparent 70%),
    radial-gradient(ellipse 38% 28% at 50% 72%, color-mix(in srgb, var(--th-gold) 16%, transparent), transparent 72%),
    linear-gradient(180deg, rgb(7 8 12 / .1) 0%, rgb(7 8 12 / .16) 72%, transparent 100%);
}
.hero-light::before,
.hero-light::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -18%;
  width: 140%;
  height: 78%;
  translate: -50% 0;
  background: conic-gradient(from 210deg at 50% 0%, transparent 0 34%, color-mix(in srgb, var(--th-gold) 22%, transparent) 46%, transparent 58%, color-mix(in srgb, var(--th-gold) 14%, transparent) 70%, transparent 82%);
  filter: blur(10px);
  opacity: .8;
}
.hero-light::after { rotate: 18deg; opacity: .45; }
.hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(100% - 2.5rem, 46rem);
  margin-inline: auto;
  padding-block: clamp(3.5rem, 8vw, 6rem);
  text-align: center;
}
.hero-copy > * { max-width: 40rem; }
.hero-copy .eyebrow,
.section-heading > div > span,
.story-lead > span,
.spotlight-copy > span,
.radar-copy > span,
.watchlist-intro > span,
.screener-sidebar > span,
.final-cta > div > span {
  color: var(--th-gold);
  font: 900 .68rem/1.5 Vazirmatn, Tahoma, sans-serif;
  letter-spacing: .08em;
}
.terminal-hero .hero-copy .eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin: 0;
  border: 1px solid color-mix(in srgb, var(--th-gold) 55%, transparent);
  border-radius: 999px;
  padding: .28rem .8rem;
  background: rgb(8 8 12 / .42);
  color: var(--th-gold);
  letter-spacing: .04em;
  backdrop-filter: blur(10px);
}
.hero-copy h1 {
  margin: 1.05rem 0 .7rem;
  color: #fffdf8;
  font-size: clamp(2.15rem, 5vw, 4.15rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.28;
  overflow-wrap: anywhere;
  text-shadow: 0 10px 40px rgb(0 0 0 / .35);
}
.hero-copy h1 strong { color: var(--th-gold); font-weight: inherit; }
.hero-copy > p {
  margin: 0;
  color: rgb(247 242 233 / .78);
  font-size: clamp(.92rem, 1.2vw, 1.05rem);
  line-height: 1.9;
}
.hero-ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-block-start: 1.55rem; }
.terminal-hero .primary-cta { box-shadow: 0 16px 36px color-mix(in srgb, var(--th-gold) 28%, transparent); }
.hero-continue {
  position: absolute;
  z-index: 3;
  inset-inline: 0;
  bottom: 7%;
  display: grid;
  justify-items: center;
  gap: .18rem;
  width: 2.25rem;
  height: 2.25rem;
  margin-inline: auto;
  color: color-mix(in srgb, var(--th-gold) 88%, #fff);
  text-decoration: none;
}
.hero-continue i {
  display: block;
  width: .62rem;
  height: .62rem;
  margin-top: -.28rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  rotate: 45deg;
  opacity: .45;
}
.hero-continue i:first-child { opacity: .9; }
@media (prefers-reduced-motion: no-preference) {
  .hero-continue {
    animation: hero-cue-drift 2.1s ease-in-out infinite, hero-cue-leave linear both;
    animation-timeline: auto, scroll(root);
    animation-range: normal, 0 9rem;
  }
  .hero-continue i:last-child { animation: hero-cue-drift 2.1s ease-in-out .28s infinite; }
}
@keyframes hero-cue-drift {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 .42rem; }
}
@keyframes hero-cue-leave {
  to { opacity: 0; visibility: hidden; }
}
.primary-cta, .final-cta > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: 3.05rem;
  border-radius: 999px;
  padding: .65rem 1.35rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--th-gold) 86%, #fff), var(--th-gold));
  box-shadow:
    0 0 0 6px color-mix(in srgb, var(--th-gold) 14%, transparent),
    0 18px 36px color-mix(in srgb, var(--th-gold) 32%, transparent);
  color: var(--th-on-gold);
  font-size: .82rem;
  font-weight: 900;
  text-decoration: none;
}
.primary-cta span,
.final-cta > a span {
  margin: 0;
  color: inherit;
  font: inherit;
  letter-spacing: 0;
  line-height: 1;
}
.ghost-cta {
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  border: 1px solid color-mix(in srgb, var(--th-gold) 32%, var(--ds-border));
  border-radius: 999px;
  padding: .65rem 1.1rem;
  background: color-mix(in srgb, var(--ds-surface) 70%, transparent);
  color: var(--ds-ink);
  font-size: .78rem;
  font-weight: 850;
  text-decoration: none;
}
.nc-pathways, .section-shell, .radar-section, .final-cta { width: min(100% - 2rem, var(--ds-content)); margin-inline: auto; }
.nc-pathways {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-block: 2rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--th-gold) 32%, var(--ds-border));
  border-radius: var(--ds-radius-lg);
  background: var(--ds-border);
}
.nc-pathway { min-width: 0; min-height: 14rem; display: flex; flex-direction: column; padding: 1.5rem; background: var(--ds-surface); overflow: hidden; }
.nc-pathway small { color: var(--th-gold); font: 800 .7rem/1.4 Vazirmatn, sans-serif; letter-spacing: .1em; }
.nc-pathway h2 { margin: .7rem 0 .3rem; color: var(--ds-ink-strong); font-size: 1.05rem; }
.nc-pathway p { margin: 0; color: var(--ds-muted); font-size: .76rem; }
.nc-pathway a { margin-block-start: auto; color: var(--th-gold); font-size: .72rem; font-weight: 900; text-decoration: none; }
.market-ticker {
  display: flex;
  overflow: hidden;
  border-block: 1px solid color-mix(in srgb, var(--th-gold) 28%, var(--ds-border));
  background: var(--th-slab);
  color: var(--th-slab-ink);
}
.ticker-label {
  flex: none;
  padding: .9rem 1.2rem;
  background: var(--th-gold);
  color: var(--th-on-gold);
  font: 850 .65rem/1 Vazirmatn, sans-serif;
  direction: ltr;
}
.ticker-label small { opacity: .7; }
.ticker-window { overflow: hidden; flex: 1; }
.ticker-track { display: flex; min-width: max-content; animation: ticker 84s linear infinite; }
.ticker-window:hover .ticker-track { animation-play-state: paused; }
.ticker-track > span {
  display: flex;
  gap: .5rem;
  padding: .85rem 1.2rem;
  border-inline-end: 1px solid rgb(255 255 255 / .12);
  font-size: .7rem;
}
.ticker-track i { font-style: normal; }
.ticker-track .up, .positive { color: var(--ds-positive); }
.ticker-track .down, .negative { color: var(--ds-negative); }
/* The slab stays dark in both themes, so movement colours use the dark palette here. */
.ticker-track .up { color: #62c4a4; }
.ticker-track .down { color: #f07a89; }
@keyframes ticker { to { translate: 50% 0; } }
.section-shell { padding-block: clamp(3rem, 7vw, 6rem); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-block-end: 1.4rem; min-width: 0; }
.section-heading h2 { margin: .25rem 0 0; color: var(--ds-ink-strong); font-size: clamp(1.4rem, 2.5vw, 2.25rem); }
.section-heading > p,
.section-heading a:not(.primary-cta) { color: var(--ds-muted); font-size: .72rem; }
.pulse-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, .75fr); gap: 1rem; }
.pulse-layout > * { min-width: 0; }
.data-panel, .story-panel, .screener-panel, .spotlight-panel, .codal-feed, .sector-stack, .watchlist-panel, .account-plan-preview-grid article {
  border: 1px solid color-mix(in srgb, var(--th-gold) 28%, var(--ds-border));
  border-radius: var(--ds-radius-lg);
  background: color-mix(in srgb, var(--ds-surface) 88%, transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb, #fff 22%, transparent),
    0 18px 50px color-mix(in srgb, var(--th-gold) 10%, transparent);
}
.data-panel { padding: 1.2rem; }
.panel-title { display: flex; align-items: center; justify-content: space-between; margin-block-end: 1rem; }
.panel-title small, .panel-title span { color: var(--ds-muted); font-size: .7rem; }
.panel-title h3 { margin: .15rem 0 0; color: var(--ds-ink-strong); }
.preview-chip {
  border: 1px solid color-mix(in srgb, var(--th-gold) 30%, var(--ds-border));
  border-radius: 999px;
  padding: .2rem .55rem;
  background: var(--ds-gold-soft);
  color: var(--th-gold);
  font-size: .7rem;
  font-weight: 900;
}
.heatmap { min-width: 0; min-height: 22rem; display: grid; grid-template: repeat(3, minmax(0, 1fr)) / repeat(4, minmax(0, 1fr)); gap: .35rem; overflow: hidden; }
.heat { min-width: 0; overflow: hidden; border: 0; border-radius: .55rem; padding: .75rem; background: var(--ds-positive-soft); color: var(--ds-positive); text-align: right; cursor: pointer; }
.heat:nth-child(1) { grid-area: 1/1/3/3; }
.heat:nth-child(2) { grid-area: 1/3/2/5; }
.heat:nth-child(3) { grid-area: 2/4/3/5; background: var(--ds-negative-soft); color: var(--ds-negative); }
.heat:nth-child(4) { grid-area: 2/3/4/4; }
.heat:nth-child(5) { grid-area: 3/1/4/3; }
.heat:nth-child(6) { grid-area: 3/4/4/5; }
.heat b, .heat strong, .heat small { display: block; overflow-wrap: anywhere; }
.heat strong { font-size: clamp(.95rem, 1.6cqi, 1.2rem); }
.heat strong, .mood-stats b, .story-metrics strong, .story-metrics b, .spotlight-kpis b, .mover-value strong, .watch-row span, .watch-row strong, .watch-summary b, .gauge-arc span {
  direction: ltr;
  unicode-bidi: isolate;
}
.mood-panel { display: grid; align-content: start; }
.mood-gauge { display: grid; justify-items: center; padding: 2rem 0; }
.gauge-arc {
  display: grid;
  width: 11rem;
  height: 5.5rem;
  place-items: end center;
  overflow: hidden;
  border-radius: 11rem 11rem 0 0;
  background: conic-gradient(from 270deg at 50% 100%, var(--ds-negative), var(--ds-gold), var(--ds-positive) 50%, transparent 0);
}
.gauge-arc span {
  display: grid;
  width: 8rem;
  height: 4rem;
  place-items: end center;
  background: var(--ds-surface);
  color: var(--ds-ink-strong);
  font-size: 2rem;
  font-weight: 950;
  border-radius: 8rem 8rem 0 0;
}
.gauge-labels { display: flex; width: 100%; justify-content: space-between; color: var(--ds-muted); font-size: .7rem; }
.mood-stats { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .5rem; }
.mood-stats div { min-width: 0; overflow: hidden; padding: .75rem; border-radius: .55rem; background: var(--ds-surface-muted); }
.mood-stats b, .mood-stats small { display: block; }
.mood-stats small { color: var(--ds-muted); font-size: .7rem; }
.story-panel, .spotlight-panel, .watchlist-panel { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.9fr); overflow: hidden; }
.story-lead, .spotlight-copy, .watchlist-intro {
  min-width: 0;
  overflow: hidden;
  padding: 1.7rem;
  background: var(--th-slab);
  color: var(--th-slab-ink);
}
.story-lead h2, .spotlight-copy h2, .watchlist-intro h2 { color: var(--th-slab-ink); font-size: clamp(1.25rem, 2.4vw, 1.8rem); overflow-wrap: anywhere; }
.story-lead p, .story-lead small, .spotlight-copy p, .watchlist-intro p { color: var(--th-slab-mute); }
.story-lead > span, .spotlight-copy > span, .watchlist-intro > span { color: var(--th-gold); }
.story-metrics, .spotlight-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 1rem; gap: .7rem; min-width: 0; }
.story-metrics article, .spotlight-kpis article {
  min-width: 0;
  overflow: hidden;
  padding: 1rem;
  border: 1px solid var(--ds-border);
  border-radius: .7rem;
  background: var(--ds-surface-muted);
}
.story-metrics :is(small, b, strong), .spotlight-kpis :is(small, b, span) { display: block; }
.story-metrics small, .spotlight-kpis small { color: var(--ds-muted); font-size: .7rem; }
.account-plan-preview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.account-plan-preview-grid article { min-width: 0; overflow: hidden; padding: 1.2rem; }
.account-plan-preview-grid p { color: var(--ds-muted); font-size: .68rem; }
.account-plan-preview-grid span { color: var(--th-gold); font-weight: 950; }
.segmented-tabs { display: flex; flex-wrap: wrap; gap: .25rem; padding: .25rem; border-radius: .6rem; background: var(--ds-surface-muted); }
.segmented-tabs button { border: 0; border-radius: .4rem; padding: .5rem .7rem; background: transparent; color: var(--ds-muted); font-size: .68rem; font-weight: 800; }
.segmented-tabs button.active { background: var(--ds-surface); color: var(--th-gold); }
#market-watch { --movers-inline-size: 62rem; }
.movers-heading { max-inline-size: var(--movers-inline-size); margin-inline: auto; margin-block-end: .85rem; align-items: center; flex-wrap: wrap; }
.movers-heading .segmented-tabs {
  flex-shrink: 0;
  flex-wrap: nowrap;
  gap: 0;
  padding: 0;
  border-block-end: 1px solid var(--ds-border);
  border-radius: 0;
  background: transparent;
}
.movers-heading .segmented-tabs button {
  min-height: 2.4rem;
  padding: .45rem .7rem;
  border-block-end: 2px solid transparent;
  border-radius: 0;
  font-size: .72rem;
  transition: color .18s, background-color .18s, border-color .18s;
}
.movers-heading .segmented-tabs button:is(:hover, :focus-visible) { background: var(--ds-surface-muted); color: var(--ds-ink-strong); }
.movers-heading .segmented-tabs button.active { border-block-end-color: var(--th-gold); background: transparent; color: var(--ds-ink-strong); }
.movers-board {
  max-inline-size: var(--movers-inline-size);
  margin-inline: auto;
  background: transparent;
}
.movers-board[hidden] { display: none; }
.movers-rows { display: grid; grid-template-columns: minmax(0, 1fr); gap: .35rem; }
.mover-row {
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr) 9rem 5.4rem 5rem;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  position: relative;
  min-height: 3.3rem;
  padding: .3rem clamp(.55rem, 1vw, .85rem);
  border: 1px solid var(--ds-border);
  border-radius: .65rem;
  background: var(--ds-surface);
  color: var(--ds-ink);
  text-decoration: none;
  animation: mover-arrive .38s both;
  animation-delay: calc(min(var(--mover-order), 10) * 35ms);
  transition: background-color .18s, border-color .18s, translate .18s;
}
.mover-row:hover, .mover-row:focus-visible {
  background: color-mix(in srgb, var(--ds-gold-soft) 35%, var(--ds-surface));
  border-color: color-mix(in srgb, var(--th-gold) 55%, var(--ds-border));
  translate: 0 -1px;
}
.mover-row:focus-visible { outline: 2px solid var(--th-gold); outline-offset: 2px; }
.mover-rank { color: var(--th-gold); font-size: .69rem; font-weight: 900; font-variant-numeric: tabular-nums; }
.mover-identity, .mover-price, .mover-metric { display: flex; align-items: baseline; gap: .15rem .3rem; min-width: 0; }
.mover-identity { display: grid; gap: .06rem; overflow: hidden; }
.mover-name-line { display: flex; align-items: center; gap: .35rem; min-width: 0; }
.mover-identity b { color: var(--ds-ink-strong); font-size: .82rem; line-height: 1.2; white-space: nowrap; }
.mover-identity > small { min-width: 0; overflow: hidden; color: var(--ds-muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.mover-figures { display: grid; min-width: 0; gap: .04rem; }
.mover-price b, .mover-metric b { color: var(--ds-ink-strong); font-size: .76rem; font-weight: 900; direction: ltr; unicode-bidi: isolate; font-variant-numeric: tabular-nums; }
.mover-price small, .mover-metric small { color: var(--ds-muted); font-size: .61rem; }
.mover-metric b { color: var(--ds-muted); font-size: .65rem; }
.mover-change { display: flex; align-items: center; justify-content: center; direction: ltr; font-size: .77rem; font-weight: 900; font-variant-numeric: tabular-nums; }
.mover-change span { display: inline-flex; min-width: 4.4rem; justify-content: center; border-radius: 2rem; padding: .18rem .3rem; background: var(--ds-positive-soft); }
.mover-change.negative span { background: var(--ds-negative-soft); }
.mover-trend { display: block; min-width: 0; }
.mover-trend canvas { display: block; width: 100%; height: 1.55rem; }
.mover-type {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  overflow: hidden;
  padding: .04rem .35rem;
  border: 1px solid color-mix(in srgb, var(--nc-type, var(--ds-muted)) 30%, var(--ds-border));
  border-radius: 2rem;
  background: var(--nc-type-soft, var(--ds-surface-muted));
  color: var(--nc-type, var(--ds-muted));
  font-size: .55rem;
  font-weight: 800;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.movers-empty { margin: 0; padding: 1.5rem; color: var(--ds-muted); font-size: .76rem; }
.mover-spark-empty { display: grid; min-height: 1.55rem; align-items: center; color: var(--ds-muted); font-size: .57rem; }
.movers-source-note { max-inline-size: var(--movers-inline-size); margin: .7rem auto 0; color: var(--ds-muted); font-size: .66rem; line-height: 1.8; }
@keyframes mover-arrive { from { opacity: 0; translate: 0 .4rem; } to { opacity: 1; translate: 0 0; } }
.screener-panel { display: grid; grid-template-columns: minmax(0, 16rem) minmax(0, 1fr); overflow: hidden; }
.screener-sidebar { min-width: 0; padding: 1.5rem; background: var(--ds-surface-muted); }
.screener-sidebar h2 { color: var(--ds-ink-strong); font-size: 1.7rem; }
.screener-sidebar p { color: var(--ds-muted); font-size: .72rem; }
.preset-list { display: grid; gap: .3rem; }
.preset-list button, .text-action {
  display: flex;
  justify-content: space-between;
  border: 0;
  border-radius: .45rem;
  padding: .65rem;
  background: transparent;
  color: var(--ds-muted);
  font-size: .7rem;
  font-weight: 800;
}
.preset-list button.active { background: var(--ds-surface); color: var(--th-gold); }
.screener-content { min-width: 0; padding: 1.2rem; }
.filter-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin-block-end: 1rem; }
.filter-chips span, .filter-chips em {
  border-radius: 999px;
  padding: .3rem .6rem;
  background: var(--ds-surface-muted);
  color: var(--ds-ink);
  font-size: .7rem;
  font-style: normal;
  font-weight: 800;
}
.screener-table-wrap { overflow-x: auto; min-width: 0; }
.screener-table { width: 100%; table-layout: fixed; }
.screener-table th, .screener-table td {
  max-width: 0;
  padding: .75rem .45rem;
  overflow: hidden;
  border-block-end: 1px solid var(--ds-border);
  text-align: right;
  font-size: .7rem;
  color: var(--ds-ink);
  white-space: nowrap;
}
.screener-table th { color: var(--ds-muted); font-weight: 900; }
.screener-table td small { display: block; color: var(--ds-muted); }
.spotlight-panel { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr) minmax(0, 1fr); }
.spotlight-chart { min-width: 0; overflow: hidden; padding: 1.2rem; }
.spotlight-chart canvas { display: block; width: 100%; max-width: 100%; height: 14rem; }
.chart-caption, .chart-legend { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .45rem; color: var(--ds-muted); font-size: .65rem; }
.chart-legend i { display: inline-block; width: .55rem; height: .55rem; margin-inline-end: .28rem; border-radius: 50%; vertical-align: middle; }
.chart-legend .sales { background: var(--th-gold); }
.chart-legend .profit { background: var(--th-teal); }
.spotlight-kpis { grid-template-columns: minmax(0, 1fr); }
.spotlight-copy a { color: var(--th-gold); font-weight: 900; text-decoration: none; }
.score-card em { color: var(--ds-muted); font-size: .72em; font-style: normal; }
.score-card div { overflow: hidden; height: .38rem; margin-top: .55rem; border-radius: 999px; background: var(--ds-surface); }
.score-card i { display: block; height: 100%; background: var(--th-gold); }
.dual-section { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.dual-section > * { min-width: 0; }
.codal-feed, .sector-stack { min-width: 0; padding: 1.2rem; overflow: hidden; }
.codal-feed .timeline { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.codal-feed .timeline article {
  min-width: 0;
  padding: .85rem;
  border: 1px solid var(--ds-border);
  border-radius: .8rem;
  background: color-mix(in srgb, var(--ds-surface) 72%, transparent);
}
.codal-feed .timeline-node::after { display: none; }
.timeline article {
  display: grid;
  grid-template-columns: .85rem minmax(4.4rem, 6.4rem) minmax(0, 1fr);
  align-items: start;
  gap: .7rem;
  padding: .8rem 0;
  border-block-end: 1px solid var(--ds-border);
}
.timeline-node { position: relative; }
.timeline-node i {
  display: block;
  width: .5rem;
  height: .5rem;
  margin-top: .35rem;
  border-radius: 50%;
  background: var(--th-gold);
  box-shadow: 0 0 0 .28rem color-mix(in srgb, var(--th-gold) 18%, transparent);
}
.timeline-node::after {
  position: absolute;
  inset-inline-start: .2rem;
  top: 1.05rem;
  bottom: -1.15rem;
  width: 1px;
  background: var(--ds-border);
  content: "";
}
.timeline article:last-child .timeline-node::after { display: none; }
.timeline-time { display: grid; gap: .2rem; min-width: 0; color: var(--ds-muted); font-size: .7rem; }
.timeline-time b { color: var(--ds-ink-strong); overflow-wrap: anywhere; }
.timeline-body { min-width: 0; overflow: hidden; }
.timeline-body div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; color: var(--ds-muted); font-size: .7rem; }
.timeline-body h3 { margin: 0; color: var(--ds-ink-strong); font-size: .78rem; overflow-wrap: anywhere; }
.timeline-body a { color: var(--th-gold); font-weight: 800; text-decoration: none; }
.is-sub {
  justify-self: start;
  inline-size: fit-content;
  max-inline-size: 100%;
  white-space: nowrap;
  border: 1px solid color-mix(in srgb, var(--ds-warning) 35%, var(--ds-border));
  border-radius: 999px;
  padding: .1rem .4rem;
  background: var(--ds-gold-soft);
  color: var(--ds-warning);
  font-weight: 800;
}
.timeline-meta { align-items: center; margin-top: .5rem; }
.timeline-report-type {
  display: inline-flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem .4rem;
  min-width: 0;
}
.timeline-report-type bdi {
  flex: 0 0 auto;
  border: 1px solid color-mix(in srgb, var(--th-teal) 42%, var(--ds-border));
  border-radius: 999px;
  padding: .12rem .38rem;
  color: var(--th-teal);
  background: color-mix(in srgb, var(--th-teal) 10%, transparent);
  font-size: .62rem;
  font-weight: 900;
  line-height: 1.25;
}
.timeline-report-type em { min-width: 0; color: var(--ds-muted); font-size: .65rem; font-style: normal; font-weight: 750; }
.sector-card {
  position: relative;
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  gap: .6rem;
  border: 0;
  border-block-end: 1px solid var(--ds-border);
  padding: 1rem 0;
  background: transparent;
  color: inherit;
}
.sector-card > div { display: flex; min-width: 0; gap: .6rem; text-align: right; }
.sector-rank { flex: none; color: var(--th-gold); font-weight: 950; }
.sector-card p { margin: 0; min-width: 0; }
.sector-card b, .sector-card small { display: block; overflow-wrap: anywhere; }
.sector-card small { color: var(--ds-muted); font-size: .7rem; }
.sector-line {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--th-gold), transparent);
  opacity: .55;
}
.radar-section {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: center;
  min-height: 34rem;
  margin-block: 3rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--th-gold) 32%, transparent);
  border-radius: var(--ds-radius-lg);
  background: var(--th-slab);
  color: var(--th-slab-ink);
}
.radar-copy { min-width: 0; padding: clamp(2rem, 5vw, 4rem); }
.radar-copy h2 { color: var(--th-slab-ink); font-size: clamp(1.7rem, 3vw, 2.5rem); overflow-wrap: anywhere; }
.radar-copy p { color: var(--th-slab-mute); }
.radar-key { display: flex; flex-wrap: wrap; gap: .7rem; font-size: .65rem; }
.radar-key i { display: inline-block; width: .45rem; height: .45rem; margin-inline-end: .3rem; border-radius: 50%; }
.key-blue { background: var(--th-gold); }
.key-green { background: var(--ds-positive); }
.key-amber { background: var(--ds-warning); }
.radar-copy button, .watchlist-intro button {
  margin-block-start: 1rem;
  border: 1px solid rgb(255 255 255 / .2);
  border-radius: .5rem;
  padding: .65rem .9rem;
  background: transparent;
  color: var(--th-slab-ink);
}
.radar-visual { position: relative; min-width: 0; aspect-ratio: 1; max-height: 32rem; overflow: hidden; }
.radar-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 1px solid rgb(255 255 255 / .14);
  border-radius: 50%;
  translate: -50% -50%;
}
.r1 { width: 20%; height: 20%; }
.r2 { width: 40%; height: 40%; }
.r3 { width: 60%; height: 60%; }
.r4 { width: 80%; height: 80%; }
.radar-core, .radar-dot { position: absolute; border: 0; background: transparent; color: var(--th-slab-ink); }
.radar-core {
  inset-inline-start: 50%;
  top: 50%;
  translate: -50% -50%;
  text-align: center;
  font-size: .72rem;
  font-weight: 800;
}
.radar-dot {
  padding: .4rem .55rem;
  border-radius: 999px;
  background: var(--th-gold);
  color: var(--th-on-gold);
  font-size: .68rem;
  font-weight: 900;
  white-space: nowrap;
  translate: -50% -50%;
}
.dot-metal { inset-inline-start: 72%; top: 28%; }
.dot-bank { inset-inline-start: 24%; top: 38%; }
.dot-auto { inset-inline-start: 68%; top: 72%; }
.dot-chem { inset-inline-start: 32%; top: 78%; }
.radar-label { position: absolute; color: rgb(255 255 255 / .72); font-size: .7rem; }
.label-top { inset: 4% 50% auto auto; translate: 50% 0; }
.label-bottom { inset: auto 50% 4% auto; translate: 50% 0; }
.label-right { inset: 50% 4% auto auto; translate: 0 -50%; }
.label-left { inset: 50% auto auto 4%; translate: 0 -50%; }
.watchlist-panel { grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr) minmax(0, .7fr); }
.watchlist-preview, .watch-summary { min-width: 0; overflow: hidden; padding: 1.2rem; }
.watchlist-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .65rem;
  border-block-end: 1px solid var(--ds-border);
  color: var(--ds-muted);
  font-size: .7rem;
}
.watch-row {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, .8fr) 2.6rem minmax(0, .7fr);
  align-items: center;
  gap: .45rem;
  min-width: 0;
  padding: .65rem;
  border-block-end: 1px solid var(--ds-border);
  font-size: .7rem;
}
.watch-row b, .watch-row span, .watch-row strong { min-width: 0; overflow: hidden; }
.watch-row span, .watch-row strong { direction: ltr; unicode-bidi: isolate; }
.mini-line {
  display: block;
  height: 1.05rem;
  background: linear-gradient(120deg, transparent 0 18%, var(--ds-positive) 19% 22%, transparent 23% 48%, var(--ds-positive) 49% 52%, transparent 53%);
}
.mini-line.fall {
  background: linear-gradient(120deg, transparent 0 18%, var(--ds-negative) 19% 22%, transparent 23% 48%, var(--ds-negative) 49% 52%, transparent 53%);
}
.watch-summary b { display: block; font-size: clamp(1.4rem, 3vw, 2rem); }
.watch-summary span { display: block; color: var(--ds-muted); font-size: .7rem; }
.watch-summary div { display: grid; gap: .35rem; margin-top: .8rem; }
.positive-bg, .negative-bg, .neutral-bg { display: inline-block; width: .45rem; height: .45rem; margin-inline-end: .3rem; border-radius: 50%; }
.positive-bg { background: var(--ds-positive); }
.negative-bg { background: var(--ds-negative); }
.neutral-bg { background: var(--ds-muted); }
.final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
  margin-block: 4rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--th-gold) 36%, var(--ds-border));
  border-radius: var(--ds-radius-lg);
  background: linear-gradient(165deg, color-mix(in srgb, var(--ds-gold-soft) 70%, var(--ds-surface)), var(--ds-surface));
}
.final-cta > * { min-width: 0; }
.final-cta h2 { margin: .25rem 0; color: var(--ds-ink-strong); font-size: clamp(1.35rem, 3vw, 2rem); overflow-wrap: anywhere; }
.final-cta p { margin: 0; color: var(--ds-muted); }
.terminal-toast {
  position: fixed;
  inset: auto 50% 1rem auto;
  z-index: 1200;
  translate: 50% 150%;
  border-radius: .6rem;
  padding: .7rem 1rem;
  background: var(--th-slab);
  color: var(--th-slab-ink);
  font-size: .7rem;
  transition: translate .2s;
}
.terminal-toast.show { translate: 50% 0; }
.empty-state { color: var(--ds-muted); font-size: .8rem; }

@media (max-width: 1200px) {
  .spotlight-panel { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .spotlight-kpis { grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .watchlist-panel { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .watch-summary { grid-column: 1 / -1; }
}
@media (min-width: 1251px) {
  #market-watch { --movers-inline-size: min(86rem, calc(100vw - 4rem)); }
  .mover-row {
    grid-template-columns: 2rem minmax(15rem, 1fr) minmax(10rem, 12rem) 6rem minmax(8rem, 10rem);
    gap: .75rem;
    padding-inline: 1rem;
  }
}
@media (max-width: 1020px) {
  .mover-row {
    grid-template-columns: 1.8rem minmax(0, 1fr) 8rem 5rem 4.6rem;
  }
}
@media (max-width: 900px) {
  .hero-copy h1 { font-size: clamp(1.85rem, 8vw, 2.6rem); }
  .nc-pathways, .account-plan-preview-grid { grid-template-columns: 1fr; }
  .pulse-layout, .story-panel, .screener-panel, .spotlight-panel, .dual-section, .radar-section, .watchlist-panel { grid-template-columns: 1fr; }
  .spotlight-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .heatmap { min-height: 18rem; }
  .radar-visual { min-height: 22rem; max-height: none; }
  .timeline article { grid-template-columns: .75rem minmax(0, 1fr); }
  .timeline-time, .timeline-body { grid-column: 2; }
}
@media (max-width: 900px) {
  .codal-feed .timeline { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .movers-heading .segmented-tabs { width: 100%; flex-wrap: nowrap; overflow-x: auto; }
  .movers-heading .segmented-tabs button { flex: 1 0 auto; }
  .mover-row { grid-template-columns: 1.05rem minmax(0, .6fr) minmax(0, 1.55fr) minmax(0, .45fr) minmax(0, .5fr); gap: .18rem; min-height: 3.3rem; padding: .3rem .35rem; }
  .mover-identity { gap: .04rem; }
  .mover-name-line { display: grid; gap: .02rem; justify-items: start; }
  .mover-identity b { font-size: .7rem; }
  .mover-identity > small { display: none; }
  .mover-type { font-size: .47rem; padding: 0 .18rem; }
  .mover-figures { gap: .02rem; }
  .mover-price, .mover-metric { gap: .08rem; white-space: nowrap; }
  .mover-price b { font-size: clamp(.55rem, 2.4vw, .66rem); }
  .mover-metric b { font-size: clamp(.48rem, 2.15vw, .6rem); letter-spacing: -.025em; }
  .mover-price small, .mover-metric small { flex: 0 0 auto; font-size: .49rem; }
  .mover-change { font-size: clamp(.53rem, 2.35vw, .67rem); }
  .mover-change span { min-width: 0; max-width: 100%; padding: .13rem .1rem; }
  .mover-trend canvas, .mover-spark-empty { height: 1.35rem; min-height: 1.35rem; }
  .heatmap { grid-template: repeat(3, minmax(7.5rem, 1fr)) / repeat(2, minmax(0, 1fr)); }
  .heat:nth-child(n) { grid-area: auto; }
  .story-metrics, .spotlight-kpis { grid-template-columns: 1fr; }
  .final-cta { align-items: flex-start; flex-direction: column; }
  .watch-row { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) minmax(0, .7fr); }
  .watch-row .mini-line { display: none; }
}
.nc-pathway a,
.section-heading a:not(.primary-cta),
.timeline-body a { display: inline-flex; align-items: center; min-height: 1.5rem; }
@media (prefers-reduced-motion: reduce) {
  .mover-row { animation: none; transition: none; }
  .ticker-track { animation: none; }
  .hero-light::before,
  .hero-light::after { display: none; }
  .hero-continue,
  .hero-continue i { animation: none; }
}

.macro-market { margin-block: clamp(1.4rem, 3vw, 2.4rem); }
.macro-desk {
  width: min(100% - 2rem, var(--ds-content, 92rem));
  margin: 1.1rem auto 0;
}
.macro-desk__head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-block-end: 1rem; }
.macro-desk__head span { color: var(--th-gold); font: 900 .68rem/1.5 Vazirmatn, Tahoma, sans-serif; letter-spacing: .08em; }
.macro-desk__head h2 { margin: .2rem 0 0; color: var(--ds-ink-strong); font-size: clamp(1.15rem, 2vw, 1.7rem); }
.macro-desk__head p { margin: 0; color: var(--ds-muted); font-size: .72rem; max-width: 28rem; }
.macro-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.macro-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1.15rem 1.2rem 1rem;
  border: 1px solid color-mix(in srgb, var(--ds-border) 88%, transparent);
  border-radius: 1.55rem;
  background: color-mix(in srgb, var(--ds-surface) 94%, white 6%);
  box-shadow: 0 18px 40px rgb(16 22 19 / .05);
}
.macro-card__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .7rem;
  align-items: center;
}
.macro-card__icon, .macro-dot {
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  font: 800 .72rem/1 Vazirmatn, Tahoma, sans-serif;
}
.macro-card__icon { width: 2rem; height: 2rem; }
.macro-card__icon[data-tone="gold"]::before { content: "ط"; }
.macro-card__icon[data-tone="fx"]::before { content: "$"; }
.macro-card__icon[data-tone="crypto"]::before { content: "B"; }
.macro-card__icon[data-tone="official"]::before { content: "ر"; }
.macro-dot { width: 2.05rem; height: 2.05rem; flex: 0 0 auto; font-size: .7rem; }
.macro-card__icon[data-tone="gold"], .macro-dot[data-tone="gold"] { background: #c9a227; }
.macro-card__icon[data-tone="fx"], .macro-dot[data-tone="fx"], .macro-dot[data-tone="usd"] { background: #1b8f6a; }
.macro-card__icon[data-tone="crypto"], .macro-dot[data-tone="crypto"] { background: #3b6fd4; }
.macro-card__icon[data-tone="official"], .macro-dot[data-tone="eur"] { background: #3f5bd6; }
.macro-dot[data-tone="coin"] { background: #d39a2a; }
.macro-dot[data-tone="btc"] { background: #f7931a; }
.macro-dot[data-tone="eth"] { background: #627eea; }
.macro-dot[data-tone="usdt"] { background: #26a17b; }
.macro-dot[data-tone="gbp"] { background: #4c5d8a; }
.macro-dot[data-tone="aed"] { background: #0e8f7a; }
.macro-card__head small {
  display: block;
  color: var(--ds-muted);
  font: 800 .62rem/1.4 Vazirmatn, Tahoma, sans-serif;
  letter-spacing: .08em;
}
.macro-card__head h3 { margin: 0; color: var(--ds-ink-strong); font-size: .98rem; }
.macro-card__badge {
  border-radius: 999px;
  padding: .18rem .55rem;
  background: color-mix(in srgb, var(--ds-surface-muted) 80%, transparent);
  color: var(--ds-muted);
  font: 800 .62rem/1.4 Vazirmatn, Tahoma, sans-serif;
}
.macro-card__quote {
  display: grid;
  gap: .1rem;
  margin: .8rem 0 .45rem;
  position: relative;
  z-index: 1;
}
.macro-card__quote span { color: var(--ds-ink); font-size: .78rem; }
.macro-card__quote strong {
  color: var(--ds-ink-strong);
  font-size: clamp(1.55rem, 2.4vw, 2rem);
  font-variant-numeric: tabular-nums;
  direction: ltr;
  unicode-bidi: isolate;
}
.macro-card__meta {
  display: flex;
  align-items: baseline;
  gap: .55rem;
  margin: 0 0 .15rem;
}
.macro-card__quote.is-up strong, .macro-card__quote.is-up .macro-chg { color: var(--ds-positive); }
.macro-card__quote.is-down strong, .macro-card__quote.is-down .macro-chg { color: var(--ds-negative); }
.macro-card__quote small { color: var(--ds-muted); font-size: .68rem; }
.macro-card__chart { margin: .15rem 0 .45rem; overflow: hidden; }
.macro-chart-wrap { position: relative; }
.macro-chart-tip {
  position: absolute;
  z-index: 4;
  left: 0;
  top: 0;
  display: grid;
  gap: .12rem;
  min-width: 7.2rem;
  max-width: 14rem;
  padding: .42rem .58rem .46rem;
  border: 1px solid color-mix(in srgb, var(--th-gold) 40%, var(--ds-border));
  border-radius: .58rem;
  background: color-mix(in srgb, var(--ds-surface) 88%, transparent);
  box-shadow: 0 .45rem 1.15rem color-mix(in srgb, var(--ds-ink) 14%, transparent);
  pointer-events: none;
  backdrop-filter: blur(10px);
}
.macro-chart-tip[hidden] { display: none; }
.macro-chart-tip small {
  color: var(--ds-muted);
  font-size: .66rem;
  font-weight: 750;
  line-height: 1.4;
}
.macro-chart-tip strong {
  color: var(--ds-ink-strong);
  font-size: .98rem;
  font-weight: 900;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.macro-chart-tip bdi {
  direction: ltr;
  unicode-bidi: isolate;
}
.macro-chart-tip span {
  color: var(--ds-muted);
  font-size: .62rem;
  font-weight: 700;
}
.macro-chart-tip span[hidden] { display: none; }
.macro-ranges {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 2px;
  margin-top: .4rem;
  padding: 3px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ds-surface-muted) 82%, transparent);
}
.macro-ranges button {
  min-width: 0;
  border: 0;
  border-radius: 999px;
  padding: .34rem .08rem;
  background: transparent;
  color: var(--ds-muted);
  font: 800 .58rem/1 Vazirmatn, Tahoma, sans-serif;
  cursor: pointer;
  white-space: nowrap;
}
.macro-ranges button:hover:not(.is-active) { color: var(--ds-ink); }
.macro-ranges button.is-active {
  background: color-mix(in srgb, var(--th-gold) 22%, var(--ds-surface));
  color: var(--ds-ink-strong);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--th-gold) 24%, transparent);
}
.macro-chart { width: 100%; height: 176px; }
.macro-rows { display: grid; gap: .15rem; }
.macro-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .7rem;
  align-items: center;
  width: 100%;
  padding: .55rem .2rem;
  border: 0;
  border-radius: .85rem;
  background: transparent;
  color: inherit;
  text-align: right;
  cursor: pointer;
}
.macro-row:hover, .macro-row.is-open { background: color-mix(in srgb, var(--ds-surface-muted) 70%, transparent); }
.macro-row__id b { display: block; color: var(--ds-ink-strong); font-size: .82rem; }
.macro-row__id small { color: var(--ds-muted); font-size: .62rem; letter-spacing: .02em; }
.macro-row__px {
  display: grid;
  justify-items: end;
  gap: .08rem;
  text-align: left;
}
.macro-row strong, .macro-row .macro-chg, .macro-card__quote strong, .ticker-track strong {
  direction: ltr;
  unicode-bidi: isolate;
  font-variant-numeric: tabular-nums;
}
.macro-row strong { color: var(--ds-ink-strong); font-size: .92rem; }
.macro-row .macro-dual { justify-items: end; }
.macro-chg { font-size: .72rem; font-weight: 800; }
.macro-chg.is-up { color: var(--ds-positive); }
.macro-chg.is-down { color: var(--ds-negative); }
.macro-chg.is-flat { color: var(--ds-muted); }
.macro-dual { display: grid; gap: .12rem; font-size: .66rem; color: var(--ds-muted); }
.macro-more {
  display: inline-flex;
  margin: .55rem 0 0;
  padding: 0;
  background: none;
  color: #3b6fd4;
  font-size: .78rem;
}
html[data-market-theme="dark"] .macro-more { color: #8bb4ff; }
.macro-empty { padding: .8rem .2rem; color: var(--ds-muted); font-size: .78rem; }
.ticker-track .macro-wait { opacity: .72; }
@media (max-width: 900px) {
  .macro-board { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .macro-chart { height: 156px; }
  .macro-ranges button { font-size: .52rem; padding: .3rem .04rem; }
  .macro-card { padding: 1rem .95rem .85rem; }
}
