:root {
  color-scheme: dark;
  --ty-bg: #030405;
  --ty-panel: #080a0c;
  --ty-panel-2: #0d1013;
  --ty-panel-3: #14181c;
  --ty-line: #2a3035;
  --ty-line-bright: #505860;
  --ty-text: #e4e8eb;
  --ty-muted: #8d979f;
  --ty-yellow: #ffd400;
  --ty-yellow-soft: #e8c200;
  --ty-up: #00c853;
  --ty-down: #ff3038;
  --bg: var(--ty-bg);
  --surface: var(--ty-panel);
  --paper: var(--ty-panel);
  --paper-soft: var(--ty-panel-2);
  --text: var(--ty-text);
  --ink: var(--ty-text);
  --muted: var(--ty-muted);
  --line: var(--ty-line);
  --line-strong: var(--ty-line-bright);
  --brand: var(--ty-yellow);
  --accent: var(--ty-yellow);
  --ok: var(--ty-up);
  --warn: var(--ty-yellow);
  --green: var(--ty-up);
  --red: var(--ty-down);
  --blue: #44a8ff;
  font-family: "IBM Plex Sans Condensed", "Arial Narrow", "PingFang TC", "Microsoft JhengHei", sans-serif;
}

html,
body {
  background: var(--ty-bg) !important;
  color: var(--ty-text) !important;
}

body {
  font-variant-numeric: tabular-nums;
}

code,
table,
.market-table,
.rank-value,
.hero-metrics strong,
.signal-ribbon strong,
.market-summary strong,
.metric strong,
.stat strong,
.live-flow-row span,
.live-flow-row b,
.update-badge strong {
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* {
  scrollbar-color: var(--ty-yellow) #101316;
  scrollbar-width: thin;
}

*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

*::-webkit-scrollbar-track {
  background: #101316;
}

*::-webkit-scrollbar-thumb {
  background: var(--ty-yellow-soft);
  border: 2px solid #101316;
}

a {
  color: inherit;
}

.up,
.pos {
  color: var(--ty-up) !important;
}

.down,
.neg {
  color: var(--ty-down) !important;
}

button,
input,
select,
textarea {
  border-radius: 0 !important;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
  outline: 2px solid var(--ty-yellow);
  outline-offset: 1px;
}

/* Global shell and navigation. */
.page,
.shell.stock-terminal {
  width: 100%;
  max-width: 1440px;
  background: var(--ty-bg);
}

.page {
  padding-bottom: 24px;
}

.site-top-nav,
.stock-terminal .topbar {
  min-height: 54px;
  border-bottom: 1px solid var(--ty-line);
  background: #010203;
  color: var(--ty-text);
}

.site-top-nav {
  width: 100vw;
  padding-inline: max(14px, calc((100vw - 1440px) / 2 + 14px));
}

.site-home {
  min-height: 54px;
  border-right-color: var(--ty-line);
  color: #fff;
  font-size: 21px;
  font-weight: 900;
}

.site-home span {
  color: #fff !important;
}

.site-home b,
.stock-terminal .brand span {
  color: var(--ty-yellow) !important;
}

.site-top-nav > div a {
  min-height: 54px;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #bac1c7;
  font-size: 13px;
}

.site-top-nav > div a:hover,
.site-top-nav > div a.active,
.site-top-nav > div a.nav-wsc:hover,
.site-top-nav > div a.nav-wsc.active {
  border-bottom-color: var(--ty-yellow);
  background: #0a0c0e;
  color: var(--ty-yellow);
}

.site-top-nav .nav-wsc {
  background: transparent !important;
  color: #bac1c7 !important;
}

.nav-search,
.stock-terminal .global-search input {
  border: 1px solid #4a5157;
  background: #080a0c;
  color: var(--ty-text);
}

.nav-search:hover,
.stock-terminal .global-search input:focus {
  border-color: var(--ty-yellow);
}

.stock-terminal .topbar {
  top: 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 7px max(14px, calc((100vw - 1440px) / 2 + 14px));
}

.stock-terminal .brand strong {
  color: #fff;
}

.stock-terminal .global-search button,
.search-box button,
.buyback-filter button,
.section-action {
  border: 1px solid var(--ty-yellow);
  background: var(--ty-yellow);
  color: #050607;
  font-weight: 900;
}

.stock-terminal .global-search button.secondary {
  border-color: #42494f;
  background: #101316;
  color: #c2c9ce;
}

.stock-terminal .global-search button:hover,
.search-box button:hover,
.buyback-filter button:hover {
  background: #ffe04a;
}

/* Homepage. */
.landing-hero.apple-showcase {
  width: min(1400px, calc(100vw - 28px));
  min-height: 430px;
  padding: 34px 0 28px;
  grid-template-columns: minmax(0, .82fr) minmax(560px, 1.18fr);
  gap: 24px;
  background: var(--ty-bg) !important;
  color: var(--ty-text);
}

.landing-hero .eyebrow,
.page .eyebrow,
.module-showcase-head span {
  color: var(--ty-yellow) !important;
}

.landing-hero h1 {
  color: #fff;
  font-size: clamp(48px, 5vw, 72px);
  letter-spacing: -.045em;
}

.landing-hero p {
  color: #a3adb5;
}

.landing-hero .hero-actions a,
.hero-actions a,
.placeholder-links a {
  border-color: var(--ty-yellow);
  background: var(--ty-yellow);
  color: #050607;
}

.landing-hero .hero-actions a + a {
  border-color: #525a61;
  background: #101316;
  color: var(--ty-text);
}

.hero-metrics {
  border-color: var(--ty-line-bright);
}

.hero-metrics div {
  border-right-color: var(--ty-line);
  background: #07090b;
}

.hero-metrics strong {
  color: var(--ty-yellow);
}

.hero-metrics span,
.hero-metrics small {
  color: var(--ty-muted);
}

.live-flow-panel {
  border-color: var(--ty-line-bright);
  background: #050709;
}

.live-flow-head,
.live-flow-tabs,
.live-flow-row {
  border-color: var(--ty-line);
}

.live-flow-head span,
.live-flow-tabs span:first-child {
  color: var(--ty-yellow);
}

.live-flow-row strong {
  color: #eef1f3;
}

.signal-ribbon {
  width: min(1400px, calc(100vw - 28px));
  border-color: var(--ty-line-bright);
  background: #050709;
}

.signal-ribbon div {
  border-right-color: var(--ty-line);
  background: #050709;
}

.signal-ribbon span {
  color: var(--ty-yellow) !important;
}

.signal-ribbon strong {
  color: #fff;
}

.signal-ribbon small {
  color: var(--ty-muted);
}

.module-showcase-head,
.module-list {
  width: min(1400px, calc(100vw - 28px));
}

.module-showcase-head {
  margin-top: 34px;
}

.module-showcase-head h2 {
  color: #fff;
}

.module-card {
  border-color: var(--ty-line);
  background: #07090b;
}

.module-card:hover {
  border-color: var(--ty-yellow);
  background: #0d1012;
  box-shadow: inset 3px 0 0 var(--ty-yellow);
}

.module-icon span,
.module-body em {
  color: var(--ty-muted) !important;
}

.module-body > span,
.module-body > strong,
.module-card:hover .module-body > strong {
  color: var(--ty-yellow) !important;
}

.module-body h2 {
  color: #fff;
}

.home-page footer,
.page footer {
  border-color: var(--ty-line);
  color: var(--ty-muted);
}

/* Shared data pages. */
.sub-header.apple-page-hero,
.hero.dashboard-hero {
  background: #050709;
  color: var(--ty-text);
}

.sub-header.apple-page-hero {
  border: 1px solid var(--ty-line);
}

.sub-header h1,
.hero h1 {
  color: #fff;
}

.sub-header p,
.hero p,
.sub-header .backlink {
  color: var(--ty-muted);
}

.sub-header .backlink:hover,
.backlink:hover {
  color: var(--ty-yellow);
}

.search-box,
.buyback-filter input,
.record-filters,
.suggestions {
  border-color: var(--ty-line-bright);
  background: #080a0c;
  color: var(--ty-text);
}

.search-box input,
.buyback-filter input,
.record-filters input {
  background: transparent;
  color: var(--ty-text);
}

.suggestions a {
  border-color: var(--ty-line);
}

.suggestions a:hover {
  background: #171b1f;
}

.panel,
.focus,
.ranking,
.table-panel,
.stat,
.today-brief,
.brief-card,
.focus-item,
.buyback-result,
.bar-card,
.southbound-chart {
  border-color: var(--ty-line) !important;
  background: #080a0c !important;
  color: var(--ty-text) !important;
}

.stats {
  border-color: var(--ty-line);
  background: #080a0c;
}

.stat {
  border-right-color: var(--ty-line);
}

.stat strong,
.stat span,
.section-head h2,
.ranking-head h2,
.focus-item strong,
.brief-card strong,
.brief-card b,
.buyback-result strong {
  color: #fff;
}

.stat small,
.section-head span,
.ranking-head p,
.rank-main small,
.focus-item span,
.brief-card small,
.buyback-result span {
  color: var(--ty-muted);
}

.section-head,
.ranking-head {
  border-color: var(--ty-line);
}

.pill,
.tag,
.record-filters button,
.buyback-filter a {
  border: 1px solid var(--ty-line-bright);
  background: #111417;
  color: #c5ccd1;
}

.record-filters button.active,
.bar-card.active {
  border-color: var(--ty-yellow);
  background: var(--ty-yellow) !important;
  color: #050607;
}

.rank-row {
  border-color: var(--ty-line);
}

.rank-row:hover,
tr:hover {
  background: #121619 !important;
}

.rank-main strong,
.rank-value,
.rank-no,
td {
  color: #dbe0e4;
}

.rank-main i,
.bar-fill {
  background: var(--ty-yellow);
}

.flow-bar i {
  background: var(--ty-yellow);
}

.flow-bar.out i {
  background: var(--ty-down);
}

table {
  border-collapse: collapse;
  background: #07090b !important;
  color: var(--ty-text);
}

thead,
th {
  background: #0b0e10 !important;
  color: var(--ty-yellow) !important;
}

th,
td {
  border-color: var(--ty-line) !important;
}

td a,
td strong {
  color: #e5e9ec;
}

.empty {
  border-color: var(--ty-line-bright);
  background: #07090b;
  color: var(--ty-muted);
}

/* Market, announcements and CCASS shell. */
.shell.stock-terminal {
  padding: 0 12px 24px;
}

.stock-terminal .terminal-hero,
.market-terminal .market-hero {
  margin: 0 0 8px;
  border-color: var(--ty-line);
  background: #06080a;
}

.stock-terminal .terminal-hero > div:first-child,
.market-terminal .market-hero > div:first-child {
  min-height: 104px;
  padding: 17px 22px;
  border-right-color: var(--ty-line);
}

.stock-terminal .terminal-hero h1,
.market-terminal .market-hero h1 {
  color: #fff;
  font-size: clamp(25px, 2.6vw, 38px);
}

.stock-terminal .terminal-hero p,
.market-terminal .market-hero p {
  color: var(--ty-muted);
  font-size: 13px;
}

.stock-terminal .hero-panel {
  background: #06080a;
}

.stock-terminal .hero-panel strong,
.market-terminal .market-hero .hero-panel strong {
  color: var(--ty-yellow);
}

.market-summary {
  border-color: var(--ty-line);
  background: #07090b;
}

.market-summary article {
  border-color: var(--ty-line);
  background: transparent;
}

.market-summary strong {
  color: var(--ty-yellow);
}

.market-summary span,
.market-summary small {
  color: var(--ty-muted);
}

.market-layout,
.announcement-layout {
  border: 1px solid var(--ty-line);
  background: #07090b;
}

.stock-terminal .panel,
.stock-terminal .chart-section,
.stock-terminal .metric,
.stock-terminal .signal-main,
.stock-terminal .signal-score {
  border-color: var(--ty-line) !important;
  background: #07090b !important;
  color: var(--ty-text);
}

.market-table-panel,
.announcement-sidebar {
  border-right-color: var(--ty-line) !important;
}

.section-title {
  border-color: var(--ty-line);
}

.section-title h2,
.section-title h3,
.section-title strong {
  color: var(--ty-yellow);
}

.section-title span {
  color: var(--ty-muted);
}

.market-table th {
  background: #0b0e10 !important;
  color: var(--ty-yellow) !important;
}

.market-table td {
  border-color: var(--ty-line);
  color: #d8dde1;
}

.stock-pick strong {
  color: #e3e7ea;
}

.stock-pick span,
.market-terminal .stock-pick span.has-points {
  color: #90a09a;
}

.market-table tbody tr.selected,
.market-table tbody tr.is-selected,
.market-table tbody tr:has(.stock-pick.active) {
  background: var(--ty-yellow) !important;
  box-shadow: inset 4px 0 0 #fff;
}

.market-table tbody tr.selected td,
.market-table tbody tr.selected .stock-pick strong,
.market-table tbody tr.selected .stock-pick span,
.market-table tbody tr.selected .up,
.market-table tbody tr.selected .down {
  color: #050607 !important;
}

.opinion-panel {
  background: #07090b !important;
}

.opinion-priority {
  border-color: var(--ty-line);
  color: var(--ty-text) !important;
}

.opinion-priority span {
  color: var(--ty-yellow) !important;
}

.opinion-priority small {
  color: var(--ty-muted) !important;
}

.opinion-body {
  gap: 0;
  background: #07090b !important;
}

.opinion-point,
.summary-item,
.digest-grid article,
.opinion-score,
.announcement-item {
  border: 0 !important;
  border-bottom: 1px solid var(--ty-line) !important;
  background: #07090b !important;
  color: var(--ty-text) !important;
}

.opinion-point {
  padding: 16px 8px;
}

.opinion-point strong,
.digest-grid strong,
.summary-item strong {
  color: #f2f4f5 !important;
}

.opinion-point p,
.digest-grid p,
.summary-item p,
.opinion-score p {
  border: 0 !important;
  background: transparent !important;
  color: #b7c0c6 !important;
}

.opinion-point b,
.opinion-priority b,
.opinion-score strong {
  color: var(--ty-yellow) !important;
}

.point-index {
  border: 1px solid var(--ty-yellow);
  border-radius: 0;
  background: transparent;
  color: var(--ty-yellow);
}

.opinion-score {
  border: 1px solid var(--ty-line) !important;
  background: #0c0f11 !important;
}

.topic-list span,
.topic-pill,
.summary-topic {
  border: 1px solid var(--ty-line-bright) !important;
  background: #111417 !important;
  color: #c7cdd2 !important;
}

.market-digest-panel > p,
.evidence-list li {
  border-color: var(--ty-line) !important;
  background: #0c0f11 !important;
  color: #b8c1c7 !important;
}

.announcement-cats button {
  border-color: var(--ty-line);
  background: #0c0f11;
  color: #d5dade;
}

.announcement-cats button:hover,
.announcement-cats button.active {
  border-color: var(--ty-yellow) !important;
  background: var(--ty-yellow) !important;
  color: #050607 !important;
}

.announcement-cats button.active span,
.announcement-cats button:hover span {
  color: #050607 !important;
}

.announcement-cats span {
  color: var(--ty-yellow);
}

.announcement-item {
  padding: 14px 10px;
}

.announcement-item-head,
.announcement-item-head span {
  color: var(--ty-muted) !important;
}

.announcement-item-head strong,
.announcement-item h4,
.announcement-item p b {
  color: #f1f3f5 !important;
}

.announcement-item h4 {
  color: var(--ty-yellow) !important;
}

.announcement-item p {
  border-color: var(--ty-line) !important;
  background: #0c0f11 !important;
  color: #b8c1c7 !important;
}

.announcement-item-head em {
  border-color: var(--ty-line-bright) !important;
  background: #15191c !important;
  color: var(--ty-yellow) !important;
}

.announcement-tags span,
.announcement-tags a {
  border-color: var(--ty-line) !important;
  background: #111417 !important;
  color: #aeb7bd !important;
}

.announcement-tags a {
  color: #55b6ff !important;
}

.signal-main h2,
.signal-score strong,
.metric strong,
.meta-row strong,
.oxmd-panel h3,
.chart-section h2 {
  color: #fff;
}

.signal-main p,
.signal-score span,
.signal-score small,
.metric small,
.meta-row span,
.note {
  color: var(--ty-muted);
}

.meta-row {
  border-color: var(--ty-line) !important;
  background: #07090b !important;
  color: var(--ty-text);
}

.oxmd-panel {
  border-color: var(--ty-line) !important;
  background: #07090b !important;
  box-shadow: none !important;
}

.oxmd-grid article {
  border-color: var(--ty-line) !important;
  background: #0c0f11 !important;
}

.oxmd-grid span,
.oxmd-grid small {
  color: var(--ty-muted) !important;
}

.oxmd-grid strong {
  color: var(--ty-yellow) !important;
}

.oxmd-links a {
  border-color: var(--ty-line-bright) !important;
  border-radius: 0 !important;
  background: #111417 !important;
  color: var(--ty-yellow) !important;
}

.signal-score strong,
.metric.retail strong,
.metric.mainland strong,
.metric.institution strong {
  color: var(--ty-yellow);
}

.signal-badge,
.pill {
  border: 1px solid var(--ty-line-bright);
  background: #121518 !important;
  color: var(--ty-yellow) !important;
}

.chart {
  border-color: var(--ty-line) !important;
  background: #050709 !important;
}

.controls button,
.toggles button {
  border-color: var(--ty-line-bright);
  background: #0e1114;
  color: #bdc5cb;
}

.controls button.active,
.toggles button.on {
  border-color: var(--ty-yellow);
  background: var(--ty-yellow);
  color: #050607;
}

/* Wallstreetcn reading page. */
.app-header {
  border-color: var(--ty-line);
  background: #010203;
  color: var(--ty-text);
}

.app-header h1 {
  color: var(--ty-yellow);
}

.header-copy,
.update-badge span {
  color: var(--ty-muted);
}

.update-badge {
  border-color: var(--ty-line-bright);
  background: #090b0d;
}

.update-badge strong {
  color: var(--ty-yellow);
}

.control-panel {
  border-color: var(--ty-line);
  background: rgba(3, 4, 5, .97);
  box-shadow: none;
}

.date-chip,
.category-chip,
.text-button,
.control-panel .search-box,
.rail-link {
  border-color: var(--ty-line);
  background: #090b0d;
  color: #c7cdd2;
}

.date-chip span,
.status-row,
.rail-notes p,
.progress-panel p {
  color: var(--ty-muted);
}

.date-chip:hover,
.category-chip:hover,
.text-button:hover,
.rail-link:hover {
  border-color: var(--ty-yellow);
  color: var(--ty-yellow);
}

.date-chip.active,
.category-chip.active,
.rail-link.active {
  border-color: var(--ty-yellow);
  background: var(--ty-yellow);
  color: #050607;
  box-shadow: none;
}

.date-chip.active span {
  color: #302900;
}

.brief-layout {
  color: var(--ty-text);
}

.brief-rail {
  border-color: var(--ty-line);
}

.feed-head,
.category-heading {
  border-color: var(--ty-line);
}

.feed-head h2,
.category-heading h3,
.brief-article h2,
.article-notes h3 {
  color: var(--ty-yellow);
}

.feed-head p,
.article-meta,
.summary,
.brief-article p,
.article-notes li {
  color: #b7c0c6;
}

.brief-article {
  border-color: var(--ty-line) !important;
  background: #07090b !important;
}

.article-notes {
  border-color: var(--ty-line) !important;
  background: #0c0f11 !important;
}

.article-notes a {
  border-color: var(--ty-yellow);
  background: var(--ty-yellow);
  color: #050607;
}

.progress-track {
  background: #1b2024;
}

.progress-track span {
  background: var(--ty-yellow);
}

@media (min-width: 901px) {
  .market-terminal .opinion-panel {
    top: 62px;
    max-height: calc(100vh - 76px);
  }
}

@media (max-width: 1060px) {
  .landing-hero.apple-showcase {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .market-layout,
  .announcement-layout,
  .stock-terminal .terminal-hero,
  .market-terminal .market-hero {
    border-color: var(--ty-line);
  }

  .market-table-panel,
  .announcement-sidebar {
    border-color: var(--ty-line) !important;
  }
}

@media (max-width: 760px) {
  .page,
  .landing-hero.apple-showcase,
  .signal-ribbon,
  .module-showcase-head,
  .module-list,
  .shell.stock-terminal {
    width: 100%;
  }

  .site-top-nav {
    padding-inline: 10px;
  }

  .landing-hero.apple-showcase {
    padding-inline: 12px;
  }

  .signal-ribbon,
  .module-showcase-head,
  .module-list {
    width: calc(100vw - 20px);
  }

  .stock-terminal .topbar {
    width: 100%;
    margin: 0 0 10px;
    padding: 10px;
    border: 1px solid var(--ty-line);
  }

  .stock-terminal .terminal-hero,
  .market-terminal .market-hero {
    margin-inline: 0;
  }

  .stock-terminal .terminal-hero > div:first-child,
  .market-terminal .market-hero > div:first-child {
    min-height: 92px;
  }

  .stock-terminal .terminal-hero h1,
  .market-terminal .market-hero h1 {
    font-size: 28px;
  }

  .stock-terminal .terminal-hero p,
  .market-terminal .market-hero p {
    font-size: 12px;
  }

  .opinion-point {
    padding-inline: 2px;
  }
}
