/* 1열 프로젝트/트리 스타일 (P1 토큰 기반 원칙 준수) */
/* 규약: PUD03 (%1열%) */

/* 트리 노드 */
.yoromis-tree-node { display: block; }
.yoromis-tree-children { margin-left: 0; }

/* 아이템 행 */
.yoromis-list-item {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 2px 4px;
  cursor: default !important;
  border-bottom: var(--yoromis-border-width) solid var(--yoromis-border-light);
  font-size: 12px;
  line-height: 1.0;
  user-select: none;
}
/* 84ㅐ: 행은 no-select 유지, 인라인 편집 입력만 텍스트 선택 허용(2열 compact-list와 동형) */
.yoromis-list-item .yoromis-inline-edit-input {
  user-select: text;
  -webkit-user-select: text;
}
/* hover 효과 제거 (마우스 포인터로 충분) */
.yoromis-list-item:hover { background: transparent; }
.yoromis-list-item.selected {
  background: transparent !important;
  color: inherit;
}
/* 119ㅐ: 다중 선택 항목 하이라이트 */
.yoromis-list-item.yoromis-col1-multi-selected {
  background: rgba(88, 166, 255, 0.12);
  outline: none;
}
.yoromis-list-item.yoromis-col1-multi-selected.selected {
  background: var(--yoromis-selected-bg);
  outline: none;
}

/* 캐럿 (펼침/접힘 화살표)
   0724-A01(9301): 말머리표 2중 표시 근절 — 색깔 caret + 색깔 도트가 겹쳐 이중 마커였음(159ㅈ가 caret에도 tier색 입힘).
   TenE 지시 "도트만 사용" → caret 글리프는 숨기고(display:none) 도트(.yoromis-list-icon)만 유일 마커로.
   엘리먼트·inline visibility는 JS가 유지하므로 행 재클릭 아코디언 펼침 동작은 그대로 보존됨.
   재발 근절: 여기서 다시 caret를 보이게(display) 하지 말 것 — 펼침은 행 클릭으로 동작. */
.yoromis-caret {
  display: none !important;
  width: 7px;
  font-size: 5px;
  color: var(--yoromis-text-secondary);
  text-align: center;
  margin-right: 0;
  transition: transform 0.15s ease;
}
/* L0/L1 삼각형 크기 미세 축소 */
.yoromis-caret.yoromis-caret-expand {
  width: 10px;
  font-size: 8px;
}
.yoromis-caret.yoromis-caret-no-child {
  opacity: 0.45;
}
/* 160ㅈ: L2 작은 사각형 말머리표 */
.yoromis-caret.yoromis-caret-leaf {
  width: 10px;
  font-size: 8px;
  line-height: 1;
}

/* 아이콘 — 색깔 원형 도트(●) 말머리표 (SSOT·공간절감).
   0724-169: display:none 회귀(159ㅈ) 근절 — 여기서 절대 다시 숨기지 말 것.
   글리프는 JS SSOT(ICONS='●'/DEFAULT_ICONS='●'), 색상만 tier로 지정. */
.yoromis-list-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 9px;
  margin-right: 3px;
  font-size: 8px;
  line-height: 1;
}

/* 154ㅈ 3단계: 1열 상태 집계 색상 (C/M/G) */
.icon-project, .icon-large, .icon-medium, .icon-small {
  color: var(--yoromis-col1-dot-cyan, #00BCD4);
}
.icon-tier-c { color: var(--yoromis-col1-dot-cyan, #00BCD4); }     /* PLAN/기본 */
.icon-tier-m { color: var(--yoromis-col1-dot-magenta, #B388FF); }  /* CODING/DEBUGGING */
.icon-tier-g { color: var(--yoromis-col1-dot-green, #8BC34A); }    /* TEST/BACKUP_DONE */

/* 159ㅈ: 상태색을 삼각형(캐럿)에 적용 */
.yoromis-caret.icon-tier-c { color: var(--yoromis-col1-dot-cyan, #00BCD4); }
.yoromis-caret.icon-tier-m { color: var(--yoromis-col1-dot-magenta, #B388FF); }
.yoromis-caret.icon-tier-g { color: var(--yoromis-col1-dot-green, #8BC34A); }

/* 라벨 */
.yoromis-list-label { 
  flex: 1;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 0;
  overflow: hidden; 
  white-space: nowrap;
}
.yoromis-list-code-part {
  flex: 0 0 auto;
  overflow: visible;
  /* 275ㅈ: 코드 장평 고정(재발 방지) */
  font-family: var(--yoromis-code-font-family, Consolas, "SFMono-Regular", Menlo, monospace);
  font-size: var(--yoromis-code-font-size, 11px);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
  color: inherit;
}
.yoromis-list-sep-part {
  flex: 0 0 auto;
  margin: 0 var(--yoromis-col1-code-gap-ch, 0.2ch);
  font-family: var(--yoromis-code-font-family, Consolas, "SFMono-Regular", Menlo, monospace);
  font-size: var(--yoromis-code-font-size, 11px);
  color: inherit;
}
.yoromis-list-name-part {
  flex: 1 1 auto;
  display: inline-block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.yoromis-list-name-root {
  font-weight: 400;
}

/* 단순 규칙: 코드-대시-명칭 (레벨별 추가 오프셋 없음) */

/* 13:09+ 디자인 복원: 레벨별 폰트/색 계층 */
.yoromis-list-item[data-level="0"] .yoromis-list-name-part {
  color: #4b1fb8;
  font-size: 15px;
}
.yoromis-list-item[data-level="0"] .yoromis-list-code-part,
.yoromis-list-item[data-level="0"] .yoromis-list-sep-part {
  color: #4b1fb8;
  font-size: 15px;
}
.yoromis-list-item[data-level="1"] .yoromis-list-name-part {
  color: var(--yoromis-col1-l1-name-color, #E07A2F);
  font-size: var(--yoromis-col1-name-size-l1, 12px);
}
.yoromis-list-item[data-level="1"] .yoromis-list-code-part,
.yoromis-list-item[data-level="1"] .yoromis-list-sep-part {
  color: var(--yoromis-col1-l1-name-color, #E07A2F);
  font-size: var(--yoromis-col1-name-size-l1, 12px);
}
.yoromis-list-item[data-level="2"] .yoromis-list-name-part {
  color: var(--yoromis-text-primary);
  font-size: var(--yoromis-col1-name-size-l2, 12px);
}
.yoromis-list-item[data-level="2"] .yoromis-list-code-part,
.yoromis-list-item[data-level="2"] .yoromis-list-sep-part {
  color: var(--yoromis-text-primary);
  font-size: var(--yoromis-col1-name-size-l2, 12px);
}
/* L3 이상도 코드/명칭 색/크기 일치 */
.yoromis-list-item[data-level="3"] .yoromis-list-code-part,
.yoromis-list-item[data-level="3"] .yoromis-list-sep-part,
.yoromis-list-item[data-level="3"] .yoromis-list-name-part {
  color: var(--yoromis-text-primary);
  font-size: var(--yoromis-col1-name-size-l2, 12px);
}

/* 2065-04: 선택 = 청색 볼드 밑줄 · L0/L1 배경·티어 caret 색 제거 */
.yoromis-list-item.selected .yoromis-list-label,
.yoromis-list-item.selected .yoromis-list-name-part,
.yoromis-list-item.selected .yoromis-list-code-part,
.yoromis-list-item.selected .yoromis-list-sep-part {
  color: var(--yoromis-col12-selected-text, #00BCD4);
  font-weight: var(--yoromis-selected-font-weight, 700) !important;
  text-decoration: var(--yoromis-selected-decoration, underline);
}
.yoromis-list-item.selected .yoromis-caret,
.yoromis-list-item.selected .yoromis-caret.icon-tier-c,
.yoromis-list-item.selected .yoromis-caret.icon-tier-m,
.yoromis-list-item.selected .yoromis-caret.icon-tier-g {
  color: var(--yoromis-text-secondary) !important;
  text-decoration: none;
}
/* 5531(0701): 2열 L3 선택 동기화 시 leaf L2만 반전 강조(요구사항).
   조상 L0/L1은 selected(청색 볼드+밑줄) 유지하고, L2만 배경/텍스트 반전 적용. */
.yoromis-list-item.yoromis-selected-fill {
  background: var(--yoromis-col12-selected-invert-bg, rgba(0, 188, 212, 0.28)) !important;
}
.yoromis-list-item.yoromis-selected-fill .yoromis-list-label,
.yoromis-list-item.yoromis-selected-fill .yoromis-list-name-part,
.yoromis-list-item.yoromis-selected-fill .yoromis-list-code-part,
.yoromis-list-item.yoromis-selected-fill .yoromis-list-sep-part {
  color: var(--yoromis-col12-selected-invert-text, #084c59) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
.yoromis-list-item.yoromis-selected-fill .yoromis-caret,
.yoromis-list-item.yoromis-selected-fill .yoromis-caret.icon-tier-c,
.yoromis-list-item.yoromis-selected-fill .yoromis-caret.icon-tier-m,
.yoromis-list-item.yoromis-selected-fill .yoromis-caret.icon-tier-g {
  color: var(--yoromis-col12-selected-invert-text, #084c59) !important;
}

/* 신규 항목 */
.yoromis-new-item { background: var(--yoromis-hover-bg); }

/* 상태 메시지 */
.yoromis-empty, .yoromis-loading, .yoromis-error {
  padding: var(--yoromis-spacing-md);
  color: var(--yoromis-text-secondary);
  text-align: center;
  font-size: var(--yoromis-font-small);
}
.yoromis-error { color: var(--yoromis-error-text); }

/* 선택 대상 모드(이동/복사) - 공용 CSS */
.yoromis-pick-active .yoromis-tree-node[data-level="1"] > .yoromis-list-item {
  cursor: pointer;
}
.yoromis-pick-active .yoromis-tree-node[data-level="1"] > .yoromis-list-item:hover {
  background: rgba(46, 125, 50, 0.10);
  cursor: pointer;
}
.yoromis-pick-active .yoromis-tree-node[data-level="1"] > .yoromis-list-item:hover .yoromis-list-label {
  font-weight: bold;
  font-size: 125%;
}
.yoromis-pick-banner {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #e3f2fd;
  border-bottom: 1px solid #90caf9;
  padding: 4px 10px;
  font-size: 11px;
  color: #1565c0;
  display: flex;
  align-items: center;
  gap: 6px;
}
.yoromis-pick-banner button {
  font-size: 10px;
  padding: 2px 6px;
  border: 1px solid #90caf9;
  border-radius: 3px;
  background: #fff;
  cursor: pointer;
}
