/* Signal direction, sitewide (owner 2026-11-07): any container or CTA card that points at upward Signal movement gets
   a transparent green wash; downward movement gets red. Containers are matched by the movement marker they already
   hold, so no template has to opt in. The wash is an inset shadow, which sits above the card's own background and
   below its content, so cards keep their images and gradients. Selectors carry "html body" so page stylesheets
   loaded later do not win. The Charts page has its own matching rules in signal-market.css. */
:root {
  --ev-up: #35d07f; --ev-up-wash: rgba(53, 208, 127, .09); --ev-up-edge: rgba(53, 208, 127, .4);
  --ev-down: #ef4b5f; --ev-down-wash: rgba(239, 75, 95, .09); --ev-down-edge: rgba(239, 75, 95, .4);
}

/* Cards and panels. */
html body .ev-rank-card:has(.ev-rank-card__movement.is-up),
html body .ev-my-frequency:has(.ev-my-frequency__movement.is-up),
html body .ev-signal-summary:has(dd.is-up),
html body .ev-kpi:has(.ev-kpi__trend.is-up),
html body .ev-freqcell.is-up,
html body .ev-dc:has(.ev-dc__chip--rising),
html body .ev-home-network__card:has(.ev-home-network__chip--rising),
html body .ev-sw-strip__item--rising,
html body .ev-ls-card.ev-ls-movers {
  border-color: var(--ev-up-edge);
  box-shadow: inset 0 0 0 999px var(--ev-up-wash), 0 0 0 1px var(--ev-up-edge);
}
html body .ev-rank-card:has(.ev-rank-card__movement.is-down),
html body .ev-my-frequency:has(.ev-my-frequency__movement.is-down),
html body .ev-signal-summary:has(dd.is-down),
html body .ev-kpi:has(.ev-kpi__trend.is-down),
html body .ev-freqcell.is-down {
  border-color: var(--ev-down-edge);
  box-shadow: inset 0 0 0 999px var(--ev-down-wash), 0 0 0 1px var(--ev-down-edge);
}
html body .ev-freqcell.is-up { border-left-color: var(--ev-up); }
html body .ev-freqcell.is-down { border-left-color: var(--ev-down); }

/* List rows: a wash that fades out to the right, with a thin edge on the left. */
html body .ev-chart__row:has(.ev-chart__move--up),
html body .ev-signal-board__rows > li:has(.ev-signal-board__move.is-up) {
  background-image: linear-gradient(90deg, var(--ev-up-wash), transparent 70%);
  box-shadow: inset 3px 0 0 var(--ev-up-edge);
}
html body .ev-chart__row:has(.ev-chart__move--down),
html body .ev-signal-board__rows > li:has(.ev-signal-board__move.is-down) {
  background-image: linear-gradient(90deg, var(--ev-down-wash), transparent 70%);
  box-shadow: inset 3px 0 0 var(--ev-down-edge);
}

/* Down trends read red, not grey. */
html body .ev-kpi__trend.is-down { color: var(--ev-down); }
