/* Churchill Capital article charts. Colors follow the site theme; buy and sell hues are validated for both surfaces. */
.cc-chart {
  --cc-buy: #3987e5;
  --cc-sell: #d95926;
  position: relative;
  min-height: 12rem;
  color: var(--text-color);
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  outline: none;
}
html.light-mode .cc-chart {
  --cc-buy: #2a78d6;
  --cc-sell: #eb6834;
}
.cc-chart:focus-visible {
  box-shadow: var(--focus-ring);
}
.cc-svg {
  display: block;
  overflow: visible;
  touch-action: pan-y;
}
.cc-svg text {
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  fill: var(--text-color-low-emphasis);
  paint-order: stroke;
  stroke: var(--bg-color);
  stroke-width: 3px;
  stroke-linejoin: round;
}
.cc-band {
  fill: var(--text-color);
  opacity: 0.06;
}
.cc-tick,
.cc-row-label,
.cc-event-label {
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}
.cc-svg .cc-value {
  fill: var(--text-color);
}
.cc-svg a .cc-event-label {
  fill: var(--text-color);
  text-decoration: underline dotted;
}
.cc-grid,
.cc-row-rule,
.cc-axis {
  stroke: var(--border-color);
  stroke-width: 1;
}
.cc-grid-year {
  opacity: 0.5;
}
.cc-grid-ref {
  stroke: var(--text-color-low-emphasis);
}
.cc-event {
  stroke: var(--text-color-low-emphasis);
  stroke-width: 1;
  opacity: 0.6;
}
.cc-price {
  fill: none;
  stroke: var(--text-color);
  stroke-width: 2;
  stroke-linejoin: round;
  stroke-linecap: round;
}
.cc-price-end {
  fill: var(--text-color);
}
.cc-volume {
  fill: var(--text-color-low-emphasis);
  opacity: 0.55;
}
.cc-award {
  stroke: var(--text-color-low-emphasis);
  stroke-width: 1;
  opacity: 0.5;
}
.cc-mark {
  stroke: var(--bg-color);
  stroke-width: 2;
}
.cc-mark.cc-bought { fill: var(--cc-buy); }
.cc-mark.cc-sold { fill: var(--cc-sell); }
.cc-mark.cc-other {
  fill: var(--bg-color);
  stroke: var(--text-color);
  stroke-width: 1.5;
}
.cc-tail {
  stroke-width: 1;
  opacity: 0.8;
}
.cc-tail.cc-bought { stroke: var(--cc-buy); }
.cc-tail.cc-sold { stroke: var(--cc-sell); }
.cc-tail.cc-other { stroke: var(--text-color); }
.cc-cross {
  stroke: var(--text-color);
  stroke-width: 1;
  opacity: 0.5;
  pointer-events: none;
}
.cc-focus {
  fill: none;
  stroke: var(--text-color);
  stroke-width: 1.5;
  pointer-events: none;
}
.cc-hit {
  fill: transparent;
}
.cc-tip {
  position: absolute;
  z-index: 2;
  max-width: min(20rem, 100%);
  padding: 0.45rem 0.6rem;
  border: 1px solid var(--border-color);
  background: var(--bg-color);
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  font-size: 0.8rem;
  line-height: 1.4;
  pointer-events: none;
}
.cc-tip-value {
  color: var(--text-color);
  font-weight: 600;
}
.cc-tip-line {
  color: var(--text-color-low-emphasis);
}
