/* GENERATED from src/trenches-chart/theme.js by scripts/build-trenches-chart.js — do not edit by hand.
   The chart design tokens (Chart V3 = the Spotlight/Hunting/Focus chart) as CSS custom
   properties + the shared classes every SVG price renderer uses. Values mirror theme.js
   exactly (test/chart-theme-single-source.test.js). */
:root {
  --chart-bg: var(--card, #0d1410);
  --chart-axis: var(--card-edge, #1c2e22);
  --chart-text: var(--ink-dim, #5f7a68);
  --chart-paper: var(--paper, #d8f5df);
  --chart-up: var(--safe, #39ff8a);
  --chart-down: var(--danger, #ff3b3b);
  --chart-accent: var(--pin, #ffb020);
  --chart-up-rgb: 57, 255, 138;
  --chart-down-rgb: 255, 59, 59;
  --chart-accent-rgb: 255, 176, 32;
  --chart-grid: rgba(255, 255, 255, 0.04);
  --chart-font: 'IBM Plex Mono', monospace;
  --chart-font-size: 11px;
  --chart-wick-width: 1;
  --chart-body-ratio: 0.62;
  --chart-volume-alpha: 0.35;
  --chart-spark-stroke: 1.6;
  --chart-spark-fill-alpha: 0.35;
  --chart-spark-neutral: #7dffb4;
  --chart-line-width: 1;
}
/* Candles (SVG) — the same up/down/wick treatment as the engine's candle series. */
.chart-body.up { fill: var(--chart-up); }
.chart-body.down { fill: var(--chart-down); }
.chart-wick { stroke-width: var(--chart-wick-width); fill: none; }
.chart-wick.up { stroke: var(--chart-up); }
.chart-wick.down { stroke: var(--chart-down); }
.chart-vol.up { fill: var(--chart-up); fill-opacity: var(--chart-volume-alpha); }
.chart-vol.down { fill: var(--chart-down); fill-opacity: var(--chart-volume-alpha); }
/* Reference lines — one width, one dash language: entry faint dotted, TP/SL dashed. */
.chart-grid-line { stroke: var(--chart-grid); stroke-width: 1; }
.chart-axis-line { stroke: var(--chart-axis); stroke-width: 1; }
.chart-entry-line { stroke: var(--chart-accent); stroke-width: var(--chart-line-width); stroke-dasharray: 2 4; stroke-opacity: 0.3; }
.chart-entry-flag { fill: var(--chart-accent); }
.chart-entry-dot { fill: var(--chart-accent); stroke: var(--board, #070a08); stroke-width: 0.6; }
.chart-tp-line { stroke: var(--chart-up); stroke-width: var(--chart-line-width); stroke-dasharray: 6 3; stroke-opacity: 0.5; }
.chart-sl-line { stroke: var(--chart-down); stroke-width: var(--chart-line-width); stroke-dasharray: 6 3; stroke-opacity: 0.5; }
.chart-live-line { stroke: var(--chart-accent); stroke-width: var(--chart-line-width); stroke-dasharray: 3 4; opacity: 0.75; }
.chart-live-dot { fill: var(--chart-accent); }
/* Sparklines (line + gradient area). */
.chart-spark-line { fill: none; stroke-width: var(--chart-spark-stroke); stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.chart-spark-line.up { stroke: var(--chart-up); }
.chart-spark-line.down { stroke: var(--chart-down); }
.chart-spark-line.neutral { stroke: var(--chart-spark-neutral); }
/* Loading / sparse / empty state — one vocabulary (theme.js STATES). */
.chart-empty { display: flex; align-items: center; justify-content: center; height: 100%; min-height: 2rem; font-family: var(--chart-font); font-size: 10px; letter-spacing: 0.1em; color: var(--chart-text); text-transform: uppercase; }
