/* Requires titan-protect-theme.css tokens. Chart is a contained evidence module, never a separate dashboard theme. */
.tp-chart {
  --tp-chart-ink: var(--tp-color-ink, #151515);
  --tp-chart-paper: var(--tp-color-paper, #ffffff);
  --tp-chart-ground: var(--tp-color-ground, #f6f3ed);
  --tp-chart-rule: var(--tp-color-rule, #d8d2c6);
  --tp-chart-gold: var(--tp-color-gold, #a68a43);
  border: 1px solid var(--tp-chart-rule);
  background: var(--tp-chart-paper);
  color: var(--tp-chart-ink);
  padding: clamp(1rem, 2vw, 1.5rem);
}
.tp-chart__header { display: flex; gap: 1rem; justify-content: space-between; align-items: flex-start; border-bottom: 1px solid var(--tp-chart-rule); padding-bottom: .75rem; }
.tp-chart__eyebrow, .tp-chart__state { margin: 0; color: var(--tp-chart-gold); font: 600 .67rem/1.25 var(--tp-font-sans, Arial, sans-serif); letter-spacing: .13em; text-transform: uppercase; }
.tp-chart__title { margin: .3rem 0 0; font: 400 clamp(1.4rem, 2.4vw, 2rem)/1.05 var(--tp-font-serif, Georgia, serif); }
.tp-chart__measure { margin: .45rem 0 0; font: .78rem/1.45 var(--tp-font-sans, Arial, sans-serif); color: color-mix(in srgb, var(--tp-chart-ink) 75%, transparent); }
.tp-chart__plot { min-height: 16rem; margin-top: .75rem; }
.tp-chart__svg { display: block; width: 100%; height: auto; overflow: visible; }
.tp-chart__grid { stroke: var(--tp-chart-rule); stroke-width: 1; }
.tp-chart__axis-label { fill: color-mix(in srgb, var(--tp-chart-ink) 68%, transparent); font: 10px Arial, sans-serif; }
.tp-chart__line { stroke-width: 2.25; stroke-linejoin: round; stroke-linecap: round; }
.tp-chart__line--ink { stroke: var(--tp-chart-ink); }
.tp-chart__line--gold { stroke: var(--tp-chart-gold); stroke-dasharray: 5 4; }
.tp-chart__line--muted { stroke: #88827a; }
.tp-chart__legend { display: flex; flex-wrap: wrap; gap: 1rem; margin: .15rem 0 0; padding: 0; list-style: none; font: .72rem/1.4 var(--tp-font-sans, Arial, sans-serif); }
.tp-chart__legend li { display: flex; align-items: center; gap: .35rem; }
.tp-chart__legend-swatch { display: inline-block; width: 1.2rem; border-top: 2px solid var(--tp-chart-ink); }
.tp-chart__legend-swatch--gold { border-color: var(--tp-chart-gold); border-top-style: dashed; }
.tp-chart__legend-swatch--muted { border-color: #88827a; }
.tp-chart__summary { margin: 1rem 0 .5rem; padding-top: .8rem; border-top: 1px solid var(--tp-chart-rule); font: .84rem/1.5 var(--tp-font-sans, Arial, sans-serif); }
.tp-chart__meta, .tp-chart__noscript { margin: 0; font: .67rem/1.45 var(--tp-font-sans, Arial, sans-serif); letter-spacing: .02em; color: color-mix(in srgb, var(--tp-chart-ink) 69%, transparent); }
.tp-chart__meta { display: flex; flex-wrap: wrap; gap: .2rem .8rem; }
.tp-chart__data-link { margin: .65rem 0 0; font: 600 .72rem/1.3 var(--tp-font-sans, Arial, sans-serif); letter-spacing: .08em; text-transform: uppercase; }
.tp-chart__data-link a { color: var(--tp-chart-ink); text-decoration-color: var(--tp-chart-gold); text-underline-offset: .25em; }
.tp-chart__empty { margin: 0; padding: 2rem 1rem; background: var(--tp-chart-ground); font: .85rem/1.5 var(--tp-font-sans, Arial, sans-serif); }
.tp-chart--delayed .tp-chart__state, .tp-chart--stale .tp-chart__state { color: #966810; }
.tp-chart--unavailable .tp-chart__state, .tp-chart--locked .tp-chart__state { color: #6d4b3e; }
.tp-chart__table { margin-top: .8rem; border-top: 1px solid var(--tp-chart-rule); font: .74rem/1.4 var(--tp-font-sans, Arial, sans-serif); }
.tp-chart__table summary { padding: .7rem 0; cursor: pointer; font-weight: 600; }
.tp-chart__table table { width: 100%; border-collapse: collapse; }
.tp-chart__table th, .tp-chart__table td { padding: .45rem; border-top: 1px solid var(--tp-chart-rule); text-align: right; white-space: nowrap; }
.tp-chart__table th:first-child { text-align: left; }
@media (max-width: 699px) {
  .tp-chart { padding: 1rem; }
  .tp-chart__header { display: block; }
  .tp-chart__state { margin-top: .55rem; }
  .tp-chart__plot { min-height: 12rem; overflow-x: auto; }
  .tp-chart__meta { display: block; }
  .tp-chart__meta span { display: block; margin-top: .15rem; }
  .tp-chart__table { overflow-x: auto; }
}
