/* Copyright (c) 2026 geniuskey and SemiBooks contributors. MIT. */
/* 찾아보기(<책>/terms.html, tools/search-index.mjs가 만든다): 종이책 뒤 색인처럼 촘촘한 여러 단 목록. 책의 색 변수를 쓴다. */
.tx-wrap { max-width: 1180px; margin: 0 auto; padding: 28px 16px 64px; }
.tx-wrap h1 { font-size: clamp(26px, 4vw, 36px); letter-spacing: -0.03em; margin: 6px 0 6px; }
.tx-lead { color: var(--text-dim); font-size: 14.5px; max-width: 820px; margin: 0 0 14px; }
.tx-lead .tx-def-sample { color: var(--accent); }
.tx-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 8px; }
.tx-tools input[type=search] { flex: 0 1 340px; min-width: 0; height: 36px; padding: 0 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg-elev); color: var(--text); font: inherit; font-size: 14px; }
.tx-tools input[type=search]:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.tx-count { font-family: var(--mono); font-size: 12.5px; color: var(--text-faint); }
.tx-jump { position: sticky; top: var(--nav-h, 58px); z-index: 5; display: flex; flex-wrap: wrap; gap: 2px; padding: 6px 0; margin-bottom: 6px; background: var(--bg); border-bottom: 1px solid var(--border); }
.tx-jump a { min-width: 26px; padding: 2px 6px; border-radius: 6px; text-align: center; font-family: var(--mono); font-size: 13px; font-weight: 700; color: var(--text-dim); }
.tx-jump a:hover { background: var(--accent-soft); color: var(--accent); text-decoration: none; }
.tx-jump a.off { opacity: .3; pointer-events: none; }
.tx-cols { columns: 3 300px; column-gap: 28px; }
.tx-group { break-inside: avoid-column; scroll-margin-top: calc(var(--nav-h, 58px) + 44px); }
.tx-group h2 { break-after: avoid; margin: 12px 0 4px; padding-bottom: 2px; border-bottom: 1px solid var(--border); font-family: var(--mono); font-size: 14px; color: var(--accent); letter-spacing: .06em; }
.tx-group ul { list-style: none; margin: 0; padding: 0; }
.tx-group li { break-inside: avoid; padding: 2px 0 2px 1.2em; text-indent: -1.2em; font-size: 13.5px; line-height: 1.5; overflow-wrap: anywhere; }
.tx-term { font-weight: 700; color: var(--text); }
.tx-en { color: var(--text-dim); font-size: 12.5px; }
.tx-abbr { font-family: var(--mono); font-size: 11.5px; color: var(--accent-2); }
.tx-loc { font-family: var(--mono); font-size: 12px; color: var(--text-faint); white-space: normal; }
.tx-loc::before { content: "— "; }
.tx-loc a { color: var(--text-dim); }
.tx-loc a.def { color: var(--accent); font-weight: 700; }
.tx-loc details { display: inline; }
.tx-loc summary { display: inline; cursor: pointer; color: var(--text-faint); list-style: none; }
.tx-loc summary::-webkit-details-marker { display: none; }
.tx-loc summary::before { content: ", "; }
.tx-loc details[open] summary { display: none; }
.tx-none { font-family: var(--font, inherit); }
.tx-group li mark { background: color-mix(in srgb, var(--accent) 22%, transparent); color: inherit; border-radius: 3px; }
.tx-empty { padding: 24px; text-align: center; color: var(--text-dim); border: 1px dashed var(--border); border-radius: 12px; }
@media (max-width: 600px) { .tx-wrap { padding: 18px 12px 48px; } }
/* 시리즈 찾아보기(사이트 루트 terms.html): 서가 색 변수 위에, 줄마다 책 약호 칩. 칩 색은 페이지가 책마다 --c로 준다. */
.tx-series { --nav-h: 56px; --accent-soft: color-mix(in srgb, var(--accent) 16%, transparent); }
.tx-series .eyebrow { font-family: var(--mono); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--accent-2); }
.tx-series .top-nav a[aria-current] { background: #1f2a40; color: #fff; }
.tx-books { font-family: var(--mono); }
.tx-books::before { content: "— "; color: var(--text-faint); font-size: 12px; }
.tx-books a { --c: var(--accent); display: inline-block; margin: 0 2px 1px 0; padding: 0 4px; border: 1px solid color-mix(in srgb, var(--c) 40%, var(--border)); border-radius: 4px;
  background: color-mix(in srgb, var(--c) 10%, var(--bg-elev)); color: var(--c); font-size: 10.5px; font-weight: 700; line-height: 1.55; text-indent: 0; vertical-align: 1px; }
.tx-books a:hover { background: var(--c); color: var(--bg-elev); text-decoration: none; }
.tx-legend { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 12px; }
.tx-legend::before { content: none; }
.tx-legend a { margin: 0; padding: 1px 6px; font-size: 11.5px; }
.tx-legend a span { margin-left: 5px; font-family: var(--font); font-weight: 500; color: var(--text-dim); }
.tx-legend a:hover span { color: inherit; }
.tx-multi { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; color: var(--text-dim); cursor: pointer; }
.tx-multi input { width: 15px; height: 15px; margin: 0; accent-color: var(--accent); }
