/* 实时行情补充样式（本地新增，非原站样式；styles.css 保持原样字节复制） */

.price-cell.current-price-cell,
.price-cell.global-contract-price-cell {
  transition: background-color 0.5s ease-out;
}

.tick-up {
  animation: hsTickUp 0.8s ease-out;
}

.tick-down {
  animation: hsTickDown 0.8s ease-out;
}

@keyframes hsTickUp {
  0% { background-color: rgba(2, 138, 85, 0.22); }
  100% { background-color: transparent; }
}

@keyframes hsTickDown {
  0% { background-color: rgba(198, 64, 64, 0.22); }
  100% { background-color: transparent; }
}

.status-pill[data-mode] {
  cursor: pointer;
  user-select: none;
}

.status-pill[data-mode="live"],
.status-pill[data-mode="live"].online {
  color: #028a55;
  border-color: rgba(2, 138, 85, 0.4);
}

.status-pill[data-mode="rest"],
.status-pill[data-mode="rest"].online {
  color: #2866c7;
  border-color: rgba(40, 102, 199, 0.4);
}

.status-pill[data-mode="simulated"] {
  color: #b88a2d;
  border-color: rgba(184, 138, 45, 0.4);
}

.status-pill[data-mode="connecting"] {
  color: #6b7785;
}

.data-source-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.data-source-table th,
.data-source-table td {
  border-bottom: 1px solid var(--line-soft, #edf1f5);
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}

.data-source-table th {
  color: var(--muted, #6b7785);
  font-weight: 600;
  white-space: nowrap;
}

.ds-live {
  color: #028a55;
  font-weight: 600;
  white-space: nowrap;
}

.ds-demo {
  color: #b88a2d;
  font-weight: 600;
  white-space: nowrap;
}
