/* Market charts inherit the shared Cal appearance and type tokens. */
.pulse-charts [hidden] { display: none !important; }
.pulse-charts { padding: var(--cal-space-5); }
.pulse-charts h2 { margin: 0; font: 700 22px var(--display); }
.pc-head, .pc-tools, .pc-stats { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cal-space-3); }
.pc-head { justify-content: space-between; }
.pc-tools { margin: var(--cal-space-4) 0; }
.pc-tools [aria-pressed="true"] { border-color: var(--ink); background: var(--paper-raised); color: var(--ink); }
.pc-ranges { display: flex; gap: var(--cal-space-2); margin-left: auto; }
.pc-stats { gap: var(--cal-space-5); margin-bottom: var(--cal-space-3); }
.pc-stats span { display: block; color: var(--ink-muted); font-size: var(--cal-text-caption); }
.pc-stats strong { display: block; color: var(--ink); font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; }
.pc-chart { display: block; width: 100%; height: 260px; overflow: visible; color: var(--ink-muted); touch-action: pan-y; }
.pc-chart text { fill: currentColor; font: 12px var(--sans); }
.pc-chart .pc-grid { stroke: var(--hairline); stroke-width: 1; }
.pc-chart .pc-line { fill: none; stroke: var(--ink); stroke-width: 2; stroke-linejoin: round; }
.pc-chart .pc-prior { stroke: var(--ink-muted); stroke-dasharray: 5 4; }
.pc-chart .pc-point, .pc-chart .pc-bar { fill: var(--ink); }
.pc-chart .pc-down { fill: var(--ink-muted); }
.pc-chart .pc-cursor { stroke: var(--ink-muted); stroke-dasharray: 2 3; }
.pc-chart .pc-selected { fill: var(--paper); stroke: var(--ink); stroke-width: 2; }
.pc-chart .pc-level-leader, .pc-chart .pc-level { stroke: var(--ink-muted); stroke-width: 1; stroke-dasharray: 4 5; }
.pc-chart .pc-boundary { stroke: var(--ink); stroke-dasharray: none; }
.pc-chart .pc-level-label { fill: var(--ink); font-size: 12px; }
.pc-chart .pc-wick { stroke: var(--ink); stroke-width: 1; }
.pc-chart .pc-candle { fill: var(--paper); stroke: var(--ink); stroke-width: 1; }
.pc-chart .pc-falling { fill: var(--ink); }
.pc-level-note { color: var(--ink-muted); font-size: 13px; line-height: 1.55; }
.pc-inspect { margin-top: var(--cal-space-3); }
.pc-inspect label { display: block; color: var(--ink); font-size: 14px; }
.pc-inspect input { width: 100%; min-height: 44px; accent-color: var(--ink); }
.pc-readout { display: block; min-height: 44px; font-size: 14px; color: var(--ink); font-variant-numeric: tabular-nums; }
.pc-foot { margin: var(--cal-space-3) 0; color: var(--ink-muted); font-size: 13px; line-height: 1.55; }
.pc-data summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-size: 14px; }
.pc-table-wrap { max-height: 280px; overflow: auto; }
.pc-data table { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.pc-data th, .pc-data td { text-align: right; padding: 10px 6px; border-bottom: 1px solid var(--hairline); }
.pc-data th:first-child, .pc-data td:first-child { text-align: left; }
.pc-message { padding: var(--cal-space-5) 0; color: var(--ink-muted); }
.pc-chart:focus-visible, .pc-data summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
@media (max-width: 520px) {
  .pulse-charts { padding: var(--cal-space-4); }
  .pc-ranges { width: 100%; margin-left: 0; }
  .pc-stats { gap: var(--cal-space-4); }
  .pc-stats strong { font-size: 18px; }
}
