
/* 글꼴 고르개 — 항목에 커서를 올리면 그 글꼴로 미리 보인다.
   기본 select 로는 커서가 어디 있는지 알 수 없어 우리가 그린다. */
.font-pick-wrap { position: relative; display: inline-flex; flex: none; }
.font-pick-btn {
  display: inline-flex; align-items: center; gap: 6px;
  height: 24px; min-width: 130px; max-width: 170px; padding: 0 6px;
  /* 값을 고르는 칸이라 **파인 면**이다 — 옆 글꼴 스타일 고르개와 같아야 한다
     (사장님 지적 2026-08-31: 올라온 면 --panel2 라 혼자 밝았다) */
  background: var(--sunken); color: var(--text);
  border: 1px solid var(--line); border-radius: 3px;
  font-size: 12px; cursor: pointer;
}
.font-pick-btn:hover { border-color: var(--text-dim); }
.font-pick-name { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: left; }
.font-pick-caret { color: var(--text-dim); font-size: 10px; flex: none; }
/* 글꼴 목록은 옵션바 밖으로 나가 떠야 한다.
   옵션바는 항목이 많을 때 가로로 밀리게 하려고 overflow 를 걸어 두었는데(.optionsbar),
   그 안에서 absolute 로 띄우면 옵션바 높이(30px 남짓) 밖이 통째로 잘려 목록이 안 보였다.
   열리기는 열리는데 눈에 안 보였다 — fixed 로 띄우고 자리는 단추를 재서 잡는다
   (openFontPick). */
.font-pick-pop {
  position: fixed; z-index: 60;
  width: 240px; max-height: 340px; overflow-y: auto;
  background: var(--panel); border: 1px solid var(--line); border-radius: 4px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45); padding: 3px;
}
/* 목록 한 줄 — 왼쪽은 글꼴 이름(보통 글꼴로 읽기 쉽게), 오른쪽은 그 글꼴로 그린 견본.
   Photoshop 목록과 같은 모양이다. 이름까지 그 글꼴로 그리면 장식 글꼴은 이름을 못 읽는다. */
.font-pick-row {
  display: flex; align-items: baseline; gap: 8px;
  width: 100%; padding: 5px 8px;
  background: none; border: none; border-radius: 3px;
  color: var(--text); font-size: 14px; text-align: left; cursor: pointer;
  overflow: hidden; white-space: nowrap;
}
.font-pick-label {
  flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-size: 12px;
}
.font-pick-sample {
  flex: none; max-width: 45%; overflow: hidden; white-space: nowrap;
  color: var(--text-dim); font-size: 14px;
}
.font-pick-row:hover .font-pick-sample, .font-pick-row.on .font-pick-sample { color: inherit; }
/* 글꼴 목록 — 필터 줄(★ 즐겨찾기만)과 줄 앞의 ☆ (책 811쪽 그림 26.18 ①·⑤) */
.font-pick-filter {
  display: flex; align-items: center; gap: 6px; padding: 4px 8px;
  border-bottom: 1px solid var(--line); font-size: 11px; color: var(--text-dim);
}
.font-pick-fav-filter {
  background: none; border: 1px solid transparent; border-radius: 3px; color: var(--text-dim);
  font-size: 13px; cursor: pointer; padding: 0 5px; line-height: 18px;
}
.font-pick-fav-filter:hover { border-color: var(--line); color: var(--text); }
.font-pick-fav-filter.on { color: #f5c400; }
.font-pick-star { flex: none; width: 16px; text-align: center; color: var(--text-dim); font-size: 12px; cursor: pointer; }
.font-pick-star.on { color: #f5c400; }
.font-pick-empty { padding: 10px 12px; font-size: 12px; color: var(--text-dim); }
/* 글꼴 목록 맨 아래 "글꼴 파일 불러오기" 줄 — 글꼴이 아니라 할 일이라 모양을 달리한다 */
.font-pick-load {
  display: block; width: 100%; margin-top: 4px; padding: 6px 8px;
  background: none; border: none; border-top: 1px solid var(--line); border-radius: 0;
  color: var(--text-dim); font-size: 12px; text-align: left; cursor: pointer;
}
.font-pick-load:hover { background: var(--blue); color: #ffffff; }

.font-pick-row:hover { background: var(--blue); color: #ffffff; }
.font-pick-row.on { background: rgba(61, 132, 255, 0.28); }

/* 크기 목록 (숫자 칸 옆 ▾) */
.task-size-caret {
  background: none; border: none; padding: 0 1px; cursor: pointer;
  color: var(--text-dim); font-size: 10px; line-height: 1; flex: none;
}
.task-size-caret:hover { color: var(--text); }
.task-size-pop {
  position: absolute; bottom: calc(100% + 4px); right: 0; z-index: 60;
  width: 64px; max-height: 260px; overflow-y: auto;
  background: var(--panel); border: 1px solid var(--line); border-radius: 4px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45); padding: 3px;
}
.task-size-row {
  display: block; width: 100%; padding: 4px 8px;
  background: none; border: none; border-radius: 3px;
  color: var(--text); font-size: 12px; text-align: right; cursor: pointer;
}
.task-size-row:hover { background: var(--blue); color: #ffffff; }
.task-size-row.on { background: rgba(61, 132, 255, 0.28); }

/* Editable name field overlays the label; the existing caret remains available. */
.font-pick-search {
  position: absolute; left: 1px; top: 1px; width: calc(100% - 23px); height: 22px;
  box-sizing: border-box; min-width: 0; padding: 0 5px; border: 0;
  background: var(--sunken); color: var(--text); font-size: 12px;
}
.font-pick-name { cursor: text; }
.font-pick-row[hidden] { display: none; }

/* ── 포토샵 짜임 글꼴 목록 (2026-09-23) ─────────────────────────────────
   실측: 사장님 포토샵 캡처(603×1014) —
     위쪽(탭·아이콘 줄) 82px 높이, 바탕 #535353
     클래스 칸 136px · 두 칸 사이 틈 16px(#4a4a4a) · 목록 칸 — 둘 다 **흰 바탕 검은 글씨**
     고른 클래스·마우스 올린 줄 #d9d9d9 · 칸(최근·색 글꼴·전체) 나누는 줄 #878787 1px
     줄 높이 19px · 창 약 596×990
   창 전체가 아니라 오른쪽 목록 칸만 굴러간다. */
.font-pick-pop.font-pick-ps {
  width: 480px; max-width: calc(100vw - 8px);
  height: min(990px, calc(100vh - 90px)); max-height: none;
  display: flex; flex-direction: column; overflow: hidden; padding: 0;
  background: #535353; border-color: #3a3a3a;
}
.font-pick-tabs { display: flex; gap: 22px; padding: 10px 16px 4px; flex: none; }
.font-pick-tab {
  background: none; border: none; padding: 2px 0; cursor: pointer;
  color: #c8c8c8; font-size: 13px;
}
.font-pick-tab.on { color: #f0f0f0; text-decoration: underline; text-underline-offset: 4px; }
.font-pick-tab:hover { color: #ffffff; }
.font-pick-ps .font-pick-filter {
  flex: none; gap: 6px; padding: 4px 12px 12px; border-bottom: none; color: #e4e4e4;
}
.font-pick-filter button {
  background: none; border: 1px solid transparent; border-radius: 3px; color: #e4e4e4;
  font-size: 14px; cursor: pointer; padding: 0 6px; line-height: 22px; min-width: 26px;
}
.font-pick-filter button:hover:not(:disabled) { border-color: #8a8a8a; }
.font-pick-filter button.on { background: #6e6e6e; border-color: #8a8a8a; }
.font-pick-fav-filter.on { color: #f5c400 !important; }
.font-pick-var-filter { font-size: 10px !important; font-weight: 600; letter-spacing: 0.5px; }
.font-pick-gap { flex: 1; }
.font-pick-clear { border-color: #9a9a9a !important; font-size: 13px !important; padding: 0 12px !important; }
.font-pick-clear:disabled { opacity: 0.5; cursor: default; }
.font-pick-body { flex: 1; min-height: 0; display: flex; gap: 12px; background: #4a4a4a; padding-left: 2px; }
.font-pick-classes {
  flex: none; width: 112px; overflow-y: auto; padding: 2px 0; background: #ffffff;
}
.font-pick-class {
  display: block; width: 100%; padding: 1px 8px; background: none; border: none;
  color: #000000; font-size: 12px; text-align: left; cursor: pointer; line-height: 19px;
}
.font-pick-class:hover, .font-pick-class.on { background: #d9d9d9; }
.font-pick-list { flex: 1; min-width: 0; overflow-y: auto; position: relative; padding: 2px 0; background: #ffffff; }
.font-pick-sec + .font-pick-sec { border-top: 1px solid #878787; margin-top: 6px; padding-top: 6px; }
.font-pick-sec[hidden] { display: none; }
.font-pick-ps .font-pick-row {
  align-items: center; gap: 6px; padding: 0 8px; min-height: 19px; border-radius: 0; color: #000000;
}
.font-pick-ps .font-pick-row:hover, .font-pick-ps .font-pick-row.on { background: #d9d9d9; color: #000000; }
.font-pick-ps .font-pick-sample { flex: none; width: 34%; max-width: none; color: #000000; }
.font-pick-ps .font-pick-star { color: #555555; }
.font-pick-ps .font-pick-star.on { color: #e0a800; }
.font-pick-twisty { flex: none; width: 10px; color: #555555; font-size: 12px; text-align: center; cursor: pointer; }
.font-pick-kind {
  flex: none; width: 30px; text-align: center; color: #333333;
  font: italic 600 12px Georgia, serif;
}
.font-pick-kind.kind-tt, .font-pick-kind.kind-svg, .font-pick-kind.kind-var { font: 700 9px sans-serif; font-style: normal; }
.font-pick-face .font-pick-label { padding-left: 14px; }
.font-pick-ps .font-pick-row:disabled { opacity: 0.45; cursor: default; }
.font-pick-ps .font-pick-row:disabled:hover { background: none; }
.font-pick-ps .font-pick-empty { color: #555555; }
.font-pick-ps .font-pick-load { color: #333333; border-top-color: #878787; }
.font-pick-ps .font-pick-load:hover { background: #d9d9d9; color: #000000; }
