/* proton 테마가 트리 글꼴을 Titillium Web(한글은 시스템 폴백)으로 바꿔
 * 같은 14px이어도 Pretendard 본문보다 커 보이는 착시가 생긴다 — 페이지 글꼴 상속으로 통일. */
.jstree-proton {
  font-family: inherit;
}

/* jstree 공통 아이콘 스타일
 * 아이콘 박스(24px)와 line-height 는 그대로 두고 글리프 크기만 줄여
 * 폴더/문서 아이콘이 글자 옆에서 과하게 커 보이지 않게 하고, 세로 정렬이 틀어지지 않게 한다.
 * fa-sm 같은 FontAwesome 사이즈 클래스는 vertical-align 을 건드려 정렬이 깨지므로 쓰지 않는다.
 */
.jstree-anchor .jstree-themeicon {
  font-size: 0.8rem;
  line-height: 24px;
  vertical-align: middle;
}

/* 문서(자식) 아이콘은 세로로 길어 같은 크기여도 폴더보다 커 보이므로
 * 살짝 줄여 폴더와 시각적 크기를 맞춘다. ( 폴더 0.8 / 문서 0.72) */
.jstree-anchor .jstree-themeicon.fa-file-lines {
  font-size: 0.72rem;
}

/* fa-cube(네임스페이스)는 글리프가 em 박스 하단에 붙게 그려져 시각 중심이 낮다 —
 * transform 이라 24px 박스·줄 높이는 그대로 두고 그리기만 1px 광학 보정. */
.jstree-anchor .jstree-themeicon.fa-cube {
  transform: translateY(-1px);
}

/* 선택·호버 배경 — proton 기본값(선택 #3392e3 / 호버 #76b6ec)은 팔레트 밖 파랑이고
 * 흰 글자 대비도 각각 3.30:1 · 2.17:1 로 낮다. 선택은 브랜드 primary(흰 글자 4.62:1),
 * 호버는 같은 색 10% 틴트로 둬 선택/호버가 한 계열의 강·약으로 읽히게 한다.
 * 호버를 먼저 두는 건 선택+호버가 겹칠 때 아래의 선택 규칙이 이기게 하려는 것(동일 명시도).
 * 선택 규칙이 color 를 다시 선언하는 이유도 같다 — 생략하면 호버의 color: inherit 가 마지막
 * 선언이 돼, 클릭한 노드에서 마우스를 뗄 때까지 파란 배경 위 검은 글자로 남는다.
 * wholerow 규칙은 덮지 않는다 — 이 프로젝트 트리는 types 플러그인만 쓴다. */
.jstree-proton .jstree-hovered {
  background: rgb(0 111 241 / 0.1);
  color: inherit;
  box-shadow: none;
}
.jstree-proton .jstree-clicked {
  background: #006ff1;
  color: #ffffff;
  box-shadow: inset 0 0 1px #006ff1;
}

/* 선택 배경이 파랑인데 노드 아이콘 색도 전부 파랑 계열(sub4/primary/sky-600/sub2)이라
 * 파랑 위 파랑으로 묻힌다 — 선택 상태에서만 글자와 같은 흰색으로 덮는다.
 * 평소 아이콘 색은 종류 구분에 쓰이므로 그대로 둔다. */
.jstree-proton .jstree-clicked > .jstree-themeicon {
  color: #ffffff;
}

/* 노드 옆 '?' 도움말 배지(termFieldMeta.js)도 같은 이유 — 테두리·글자가 primary 라
 * 선택 배경과 같은 색이 돼 통째로 사라진다. 선택 상태에서만 흰색으로. */
.jstree-proton .jstree-clicked .term-tree-help {
  color: #ffffff;
  border-color: #ffffff;
}

/* 노드 한 줄(앵커) 공통 정리
 * 긴 용어/데이터 이름이 줄바꿈·잘림 없이 한 줄로 표시되고 오른쪽에 여백을 둔다.
 * (기존에 term/data_register 템플릿에 인라인 <style> 로 흩어져 있던 규칙을 일원화) */
.jstree-anchor {
  white-space: nowrap;
  height: auto;
  padding-right: 0.5rem;
}