.market-insights {
  display: grid;
  gap: var(--space-4, 1rem);
  color: var(--text-primary, #1a1a2e);
  font-size: 14px;
}

.market-insights__scenarios {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2, 8px);
}

.market-insights :is(button, input, select, textarea) { min-height: var(--control-height, 40px); font: inherit; }
.market-insights :is(button, input, select, textarea):focus-visible { outline: 3px solid var(--primary, #e31937); outline-offset: 2px; }
.market-insights :is(button, input, select, textarea):disabled { cursor: not-allowed; opacity: .58; }
.market-insights .btn-primary:hover { transform: none; }

.market-insights :is(p, li, label, dt, dd, .capability-banner) { font-size: 14px; }
.market-insights__card h3 { margin: 0; font-size: 18px; line-height: 1.3; }

.market-insights__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: var(--space-4, 1rem);
}

.market-insights__card {
  display: grid;
  gap: var(--space-3, 12px);
  padding: var(--space-4, 1rem);
  border: 1px solid var(--border-strong, var(--border, #e2e8f0));
  border-radius: var(--radius-md, 10px);
  background: var(--surface-subtle, var(--bg-card, #fff));
}

.market-insights__details {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: var(--space-1, 4px) var(--space-3, 12px);
}

.market-insights__details dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.market-insights__weekly-summary {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: var(--space-1, .25rem) var(--space-3, .75rem);
  margin: 0;
}

.market-insights__weekly-summary dd { margin: 0; }

.market-insights__chart {
  inline-size: 100%;
  block-size: auto;
  min-inline-size: 16rem;
  border: 1px solid var(--border-strong, var(--border, #e2e8f0));
  border-radius: var(--radius-sm, 6px);
  background: var(--surface, #fff);
}

.market-insights__chart-axis {
  stroke: var(--border-strong, #94a3b8);
  stroke-width: 1;
}

.market-insights__chart-line {
  stroke: var(--text-primary, #1a1a2e);
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}

.market-insights__chart-line--usd-cny { stroke: #075985; }
.market-insights__chart-line--two-year { stroke: #6d28d9; }
.market-insights__chart-line--ten-year { stroke: #c2410c; }

.market-insights__legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3, .75rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.market-insights__legend li::before {
  display: inline-block;
  inline-size: 1.5rem;
  margin-inline-end: var(--space-2, .5rem);
  border-block-start: 3px solid currentColor;
  content: "";
  vertical-align: middle;
}

.market-insights__legend [data-line-style="dashed"]::before { border-block-start-style: dashed; }

.market-insights__table-scroll { overflow-x: auto; }

.market-insights__table {
  inline-size: 100%;
  min-inline-size: 20rem;
  border-collapse: collapse;
}

.market-insights__table :is(th, td) {
  padding: var(--space-2, .5rem);
  border: 1px solid var(--border, #e2e8f0);
  text-align: start;
  white-space: nowrap;
}

.market-insights__table caption {
  padding-block-end: var(--space-2, .5rem);
  font-weight: 700;
  text-align: start;
}

.market-insights :is(.market-insights__state, .market-insights__warning) {
  margin: 0;
  padding: var(--space-3, 12px);
  border: 1px solid var(--border-strong, var(--border, #e2e8f0));
  border-color: currentColor;
  border-radius: var(--radius-sm, 6px);
  background: var(--surface-subtle, var(--bg-light, #f8f9fc));
  overflow-wrap: anywhere;
}

.market-insights__state:is(
  [data-market-state="error"],
  [data-market-state="source-blocked"]
) {
  background: #fff1f2;
  color: #9f1239;
}

.market-insights__state:is(
  [data-market-state="not-connected"],
  [data-market-state="synthetic-stale"]
),
.market-insights__warning {
  background: #fff7ed;
  color: #9a3412;
}

.market-insights [data-state="cleared"] {
  background: var(--surface-subtle, var(--bg-light, #f8f9fc));
  color: var(--text-secondary, #64748b);
}

@media (max-width: 640px) {
  .market-insights :is(button, input, select, textarea) { min-height: var(--control-height-touch, 44px); }
  .market-insights__scenarios .btn { flex: 1 1 10rem; }
  .market-insights__cards { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .market-insights, .market-insights * { transition-duration: 0s !important; animation-duration: 0s !important; }
}
