/* ============================================================================
   Оформление подсветки «поле ↔ размер на чертеже» — см. includes/ui/hilite.js.

   Цвет — --sk-hot из tokens.php, свой собственный: не цвет буквы размера
   (та стоит у поля всегда, а подсветка — состояние «этот сейчас выбран») и не
   красный (красным набраны ошибка ввода, «вне нормы» и нарушение высоты
   прохода на чертеже; подсветка не значит «здесь неверно»).

   Почему цветом занимается CSS, а не движок чертежа: у presentation-атрибутов
   SVG (stroke=…, fill=…) приоритет ниже любого правила CSS, поэтому подсветка
   перекрывает их, не влезая в код отрисовки. Кроме цвета линия утолщается, а
   число становится жирным — подсветка различима и при дальтонизме.
   ============================================================================ */

/* Курсор-палец у размера: и подсказка «по мне можно кликнуть» (клик уводит
   фокус в поле), и признак «живого» элемента для includes/calc-figure.js —
   по такому клику он не открывает лист на весь экран. */
[data-sk-dim] {
	cursor: pointer;
}

/* Тонкая линия сама по себе почти не ловит курсор: у путей включаем попадание
   по обводке, у чисел и засечек — по всей площади. */
[data-sk-dim] path,
[data-sk-dim] line,
[data-sk-dim] polyline {
	pointer-events: stroke;
}

[data-sk-dim] text,
[data-sk-dim] rect,
[data-sk-dim] circle,
[data-sk-dim] polygon {
	pointer-events: all;
}

/* СЛОЙ ПОДСКАЗОК (f.hint в движке чертежа) — размеры, которых на чистом листе
   нет: толщина проступи, схема ограждения, стержни арматуры. Показываются
   ТОЛЬКО пока горит своё поле, поэтому чертёж остаётся чертежом, а не
   превращается в справочник обозначений. */
.sk-dim-hint {
	display: none;
}

/* ---------- собственно подсветка ----------
   Только для экрана. На печати и в PDF ни курсора, ни фокуса нет, а красная
   линия в распечатанном чертеже читалась бы как пометка об ошибке. */

@media screen {

	.sk-dim-hint.sk-hot {
		display: inline;
	}

	/* ЗАЛИВКА ГРАНИ (`polygon.sk-face`, её печатает Fig.face) ОБВОДКИ НЕ
	   ПОЛУЧАЕТ. Проекция тел на лист режет грань на полосы постоянной глубины
	   (splitByDepth в fig-project.js), и обводка рисовала бы линию по каждому
	   шву: подсвеченный подступенок превращался в частокол синих линий
	   (08.09.2026, замечание заказчика по №9). Шов между гранями линией
	   чертежа не является — по той же причине его не записывает и `ink`.
	   Деталь при подсветке очерчивают её настоящие рёбра: их лист рисует
	   отдельными линиями, и они под правило попадают. */
	[data-sk-dim].sk-hot path,
	[data-sk-dim].sk-hot line,
	[data-sk-dim].sk-hot polyline,
	[data-sk-dim].sk-hot polygon:not(.sk-face),
	[data-sk-dim].sk-hot rect,
	[data-sk-dim].sk-hot circle {
		stroke: var(--sk-hot);
		stroke-width: 1.7;
	}

	/* Засечка размерной линии и стрелка выноски нарисованы ЗАЛИВКОЙ, а не
	   обводкой (includes/gost-draw.js): красить их надо fill. Заливку фигур
	   (fill="none" у контуров, цвет материала у деталей) не трогаем — иначе
	   подсвеченная деталь превратилась бы в красное пятно без формы. */
	[data-sk-dim].sk-hot path[fill]:not([fill="none"]),
	[data-sk-dim].sk-hot circle[fill]:not([fill="none"]) {
		fill: var(--sk-hot);
	}

	/* Размерное число: только заливка. Обводку не трогаем — местами ею задана
	   подложка цветом листа, без неё число теряется на залитой детали. */
	[data-sk-dim].sk-hot text {
		fill: var(--sk-hot);
		font-weight: 700;
	}

	/* Обратная связь «эта линия — вот отсюда»: у поля под курсором (или того,
	   на которое показывает размер) подсвечивается подпись с буквой. */
	.sk-hot-field .sk-field__label,
	.sk-hot-field > .sk-radio {
		color: var(--sk-hot);
	}

	/* Буква размера тоже переходит в цвет подсветки: пока поле активно, она и
	   линия на чертеже — одно и то же, и цвет у них должен быть один. В покое
	   буква своего цвета (--sk-letter): постоянная пометка и временное
	   состояние обозначаются по-разному. Правило нужно отдельным: у .sk-code
	   свой color, и от родителя он не наследуется. */
	.sk-hot-field .sk-code {
		color: var(--sk-hot);
	}

	.sk-hot-field .sk-input,
	.sk-hot-field .sk-select {
		border-color: var(--sk-hot);
	}
}

@media print {

	/* Печать может застать поле в фокусе — гасим подсказки принудительно. */
	.sk-dim-hint {
		display: none !important;
	}
}

/* ============================================================================
   ДЕТАЛЬ, НА КОТОРУЮ ПЕРЕВЕЛА ССЫЛКА (24.09.2026, `ui/goto-part.js`): щелчок по
   куску на «Шаблонах косоуров (детали)» открывает «Размеры сварщику» и на пару
   секунд помечает ту же деталь. Цвет — тот же `--sk-hot`, что у подсветки поля:
   человек уже знает, что фиолетовым отмечено «вот это самое». Только для
   экрана: на бумаге ссылок нет.
   ========================================================================== */
@media screen {
	[data-sk-part].sk-goto-hit polygon,
	[data-sk-part].sk-goto-hit path,
	[data-sk-part].sk-goto-hit rect {
		stroke: var(--sk-hot);
		stroke-width: 2.4;
	}
	[data-sk-part].sk-goto-hit text { fill: var(--sk-hot); }
}

/* ДЕТАЛЬ ПОД КУРСОРОМ НА ЛИСТЕ-СХЕМЕ (24.09.2026, замечание заказчика: «при
   наведении на эту деталь она также должна выделяться — наше стандартное
   выделение»). Тот же цвет, что у подсветки поля: человек уже знает, что им
   отмечено «вот это самое». Подсказку «щёлкните…» браузер показывает сам —
   она лежит в <title> группы (`Fig.goto`). */
@media screen {
	[data-sk-goto].sk-goto-hot polygon,
	[data-sk-goto].sk-goto-hot path,
	[data-sk-goto].sk-goto-hot rect {
		fill: var(--sk-hot);
		fill-opacity: .35;
		stroke: var(--sk-hot);
		stroke-width: 1.6;
	}
}
