{data.cards.map((card, ci) => {
// Price hierarchy (audit H2). The three cards are NOT equal weight:
// ci 0 — РЕКОМЕНДОВАННАЯ ЦЕНА В ОБЪЯВЛЕНИИ (market asking, baseline)
// ci 1 — ОЖИДАЕМАЯ ЦЕНА СДЕЛКИ (the real answer → headline)
// ci 2 — ДКП · РОСРЕЕСТР (registry reference, ~−43% → demoted)
// The headline gets an accent border + tint + glow + larger accent
// value so the user can't confuse it with the registry figure; the
// registry card is demoted to a softer, smaller, muted "СПРАВОЧНО"
// tile. All three values stay (honesty); wiring (mapResultPanel) is
// untouched — emphasis is presentation only.
const isHeadline = ci === 1;
const isRegistry = ci === 2;
return (
{lines(card.title)}
{isRegistry && (
СПРАВОЧНО
)}
{card.value}
{card.unit}
{card.range}
{card.ppm}
{card.note && (
{card.note}
)}
{card.bars ? (
{card.bars.map((h, bi) => (
))}
) : (
<>
{card.delta}
{card.deltaLabel}
>
)}
);
})}
{/* §1.2 честный разброс: диапазоны цен = рыночный спред, НЕ погрешность
оценки. Ставим сразу под ценовыми карточками, чтобы широкий диапазон
не читался как «неуверенность расчёта». */}
Диапазоны показывают разброс цен на рынке, а не погрешность оценки.