/* peers.css — WP-A Peer 결과·가격 질문·의견 한 줄(peers.html, _peer_*.html, peers.js, peer-*.js, price-question.js) 전용.
   2026-10 화면 개편 WP-A. 다른 WP는 이 파일을 고치지 않는다(병합 충돌 방지).
   색·크기·모서리는 style.css 맨 위 토큰과 tokens-base.css 공통 부품(.chip .dt-head .inline-ask .btn-* …)을 쓴다.
   후보 한 줄은 <article class="peer-card peer-row"> 그대로 두고 CSS grid로 표 모양을 만든다 —
   내보내기·스냅샷·투표·지연 불러오기·직접 추가가 이 DOM을 읽기 때문이다(docs/ui-review-2026-10/redesign-spec.md §10-B).
   색 규칙(§3): 숫자는 무채색, 적자는 − 부호와 "적자" 글자(.peer-row-sign), 초록은 "포함"(.is-include)에만.
   style.css가 앞에 오고 tokens-base.css가 그 다음이므로, 옛 규칙과 부딪히는 곳은 .peer-discovery-container 아래로 더 세게 쓴다. */

/* ── 바탕·머리 ───────────────────────────────────────────────────────── */
.peer-discovery-container { max-width: 1232px; margin: 0 auto; padding: var(--space-5) var(--space-5) var(--space-6); min-width: 0; }
.peer-discovery-container .peer-discovery-header { max-width: 720px; margin: var(--space-5) 0 var(--space-4); text-align: left; }
.peer-discovery-container .peer-discovery-header h1 { margin: 0 0 var(--space-2); font-size: var(--t-page); line-height: var(--t-page-lh); font-weight: var(--t-page-w); letter-spacing: -0.01em; }
.peer-discovery-container .peer-discovery-header .hint { margin: 0; font-size: var(--t-body); line-height: var(--t-body-lh); color: var(--ink-2); }
.peer-discovery-container .peer-discovery-kicker { margin: 0 0 var(--space-1); color: var(--ink-3); font-size: var(--t-caption); line-height: var(--t-caption-lh); font-weight: 600; letter-spacing: 0; }
.peer-discovery-container .hint { font-size: var(--t-caption); line-height: var(--t-caption-lh); color: var(--ink-3); }
.peer-discovery-container .hint.peer-split-note, .peer-discovery-container .peer-table-hint, .peer-discovery-container .peer-more-hint { font-size: var(--t-body); line-height: var(--t-body-lh); }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
#peer-results { scroll-margin-top: var(--space-3); margin: 0 0 var(--space-3); }
.peer-base-summary .page-head { margin-bottom: var(--space-2); }
.peer-base-summary .interp { margin: var(--space-3) 0 0; }
.peer-split-note { margin: 0 0 var(--space-1); }
.dart-link-btn { display: inline-flex; align-items: center; text-decoration: none; border: 0; border-radius: var(--r-control); padding: 0 14px; }
.dart-link-btn:hover { background: var(--accent-tint); border-color: transparent; }
.peer-discovery-container a.dart-link-btn.btn { color: var(--ink); }

/* ── 큰 검색창(빈 화면) / 결과 화면의 작은 검색줄 ─────────────────────── */
.peer-discovery-container .peer-bigsearch { max-width: 720px; margin: 0 0 var(--space-3); }
.peer-bigsearch .bigsearch-tabs > button, .peer-bigsearch .bigsearch-tabs > a { cursor: pointer; display: inline-flex; align-items: center; }
.peer-bigsearch .bigsearch-tabs > a:hover { color: var(--ink); }
.peer-discovery-container .peer-search-form {
  display: flex; flex-direction: row; align-items: center; gap: var(--space-2); max-width: none; height: 52px; margin: 0;
  padding: 0 6px 0 16px; border: 1px solid var(--line-strong); border-radius: var(--r-control); background: var(--surface); box-shadow: none;
}
.peer-discovery-container .peer-search-form:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-tint); }
.peer-discovery-container .peer-search-form input[type="text"] {
  flex: 1; width: auto; min-width: 0; min-height: 0; height: 100%; padding: 0; border: 0; background: transparent; box-shadow: none; font-size: 16px; color: var(--ink);
}
.peer-discovery-container .peer-search-form button { flex: none; width: auto; min-height: 40px; padding: 0 16px; border-radius: var(--r-control); white-space: nowrap; }
.peer-bigsearch.is-compact { max-width: 480px; }
.peer-bigsearch.is-compact .peer-search-form { height: 40px; }
.peer-bigsearch.is-compact .peer-search-form input[type="text"] { font-size: var(--t-body); }
.peer-bigsearch.is-compact .peer-search-form button { min-height: 32px; }
.peer-discovery-container .peer-search-examples { margin: var(--space-3) 0 0; justify-content: flex-start; padding: 0; }
.peer-search-examples .chip-example { height: 28px; padding: 0 10px; font-size: var(--t-cell); color: var(--ink-2); border-radius: var(--r-filter); border: 0; text-decoration: none; }
.peer-search-examples .chip-example:hover { background: var(--accent-tint); color: var(--accent); }
.peer-discovery-container .peer-search-disclaimer { max-width: 720px; margin: var(--space-3) 0 var(--space-4); text-align: left; font-size: var(--t-caption); color: var(--ink-3); }
.peer-discovery-container .peer-search-progress {
  align-items: center; gap: var(--space-3); max-width: 720px; margin: 0 0 var(--space-4); padding: var(--space-3) var(--space-4);
  border: 1px solid var(--line); border-radius: var(--r-panel); background: var(--surface-muted); color: var(--ink);
}
.peer-search-progress:not([hidden]) { display: flex; }
.peer-search-progress small { display: block; margin-top: 2px; color: var(--ink-3); font-size: var(--t-caption); }
.peer-search-spinner { width: 20px; height: 20px; flex: 0 0 20px; border: 2px solid var(--line); border-top-color: var(--accent); border-radius: 50%; animation: peer-search-spin 0.8s linear infinite; }
@keyframes peer-search-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .peer-search-spinner { animation: none; border-top-color: var(--line-strong); } }
.peer-suggestion-list { margin: var(--space-2) 0 0; padding-left: var(--space-5); }
.peer-suggestion-list li { line-height: 1.8; }
.peer-discovery-container .alert-box { padding: var(--space-3) var(--space-4); border: 0; border-left: 2px solid var(--line-strong); border-radius: 0; background: var(--surface-muted); font-size: var(--t-body); color: var(--ink-2); }
.peer-discovery-container .alert-box .hint { color: var(--ink-3); }
.peer-discovery-container .alert-box + .alert-box { margin-top: var(--space-2); }
.peer-discovery-container .empty-state-ask { justify-content: flex-start; margin: var(--space-3) 0; font-size: var(--t-body); }
.peer-discovery-container .empty-state-ask .button-link { background: none; color: var(--accent); padding: 0; min-height: 32px; text-decoration: none; }
.peer-discovery-container .empty-state-ask .button-link:hover { background: none; text-decoration: underline; }

/* ── 후보 표(스펙 §7): 기준 행 · 후보 행(40px) · 중앙값 행 ─────────────── */
.peer-discovery-container .audit-peer-section { margin: 0 0 var(--space-3); padding: 0; border: 0; border-radius: 0; background: none; }
.peer-discovery-container .peer-table-panel { margin: 0 0 var(--space-3); padding: 0; border: 1px solid var(--line); border-radius: var(--r-panel); background: var(--surface); overflow: hidden; }
.peer-table-panel .dt-head { padding: var(--space-3) var(--space-4) var(--space-2); }
.peer-table-panel .dt-head-title { margin: 0; font-size: var(--t-section); line-height: var(--t-section-lh); }
.peer-table-panel .peer-table-hint { margin: 0; padding: 0 var(--space-4) var(--space-3); color: var(--ink-3); font-size: var(--t-caption); line-height: var(--t-caption-lh); }
.peer-table-panel .alert-box { margin: var(--space-3) var(--space-4); }
.peer-table-foot { padding: 0 var(--space-2) var(--space-1); border-top: 1px solid var(--line); }
.peer-table-foot .btn-text { color: var(--ink-3); }
.peer-table-foot .btn-text:hover { color: var(--ink); }

.peer-discovery-container .peer-list { display: block; margin: 0; padding: 0; }
.peer-list-head, .peer-row-main {
  --peer-cols: minmax(176px, 1.25fr) 72px 100px minmax(0, 2.4fr) 62px 98px;
  display: grid; grid-template-columns: var(--peer-cols); column-gap: var(--space-4); align-items: center;
}
.peer-list-head {
  height: 36px; padding: 0 var(--space-4); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  font-size: var(--t-header); line-height: var(--t-header-lh); font-weight: var(--t-header-w); color: var(--ink-3);
}
.peer-list-head > span { white-space: nowrap; }
.peer-list-head-num { text-align: right; }
.peer-list-head-vote { text-align: right; }
.peer-discovery-container .peer-card.peer-row, .peer-discovery-container .peer-base-row, .peer-discovery-container .peer-median-row {
  min-width: 0; margin: 0; padding: 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: var(--surface); box-shadow: none;
}
.peer-discovery-container .peer-card.peer-row:hover { border-color: var(--line); box-shadow: none; }
.peer-row-main { min-height: 40px; padding: 0 var(--space-4); }
.peer-row:hover > .peer-row-main { background: var(--surface-muted); }
.peer-row-main > .peer-card-head { grid-column: 1; grid-row: 1; }
.peer-row-main > .peer-row-rev { grid-column: 2; grid-row: 1; }
.peer-row-main > .peer-row-oi { grid-column: 3; grid-row: 1; }
.peer-row-main > .peer-row-evidence { grid-column: 4; grid-row: 1; }
.peer-row-main > .peer-row-toggle, .peer-row-main > .peer-base-chip { grid-column: 5; grid-row: 1; justify-self: start; }
.peer-row-main > .peer-vote-buttons { grid-column: 6; grid-row: 1; justify-self: end; }
.peer-row .peer-card-head, .peer-base-row .peer-card-head, .peer-median-row .peer-card-head { display: flex; flex-wrap: wrap; align-items: center; gap: 2px var(--space-2); min-width: 0; padding: 6px 0; }
.peer-card-head strong { font-size: var(--t-cell-strong); line-height: var(--t-cell-strong-lh); font-weight: var(--t-cell-strong-w); color: var(--ink); overflow-wrap: anywhere; }
.peer-badge {
  display: inline-block; padding: 0 6px; height: 20px; line-height: 20px; border-radius: var(--r-chip); font-size: var(--t-caption); font-weight: 500;
  color: var(--ink-3); background: var(--chip-bg); border: 0; white-space: nowrap;
}
.peer-badge--warn { color: var(--caution); background: var(--chip-bg); white-space: normal; height: auto; line-height: 16px; padding: 2px 6px; }
.peer-row-num { text-align: right; font-size: var(--t-cell); line-height: var(--t-cell-lh); font-weight: var(--t-cell-w); font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--ink-2); }
.peer-row-label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.peer-row-na { color: var(--ink-4); font-size: var(--t-cell); }
.peer-row-sign, .peer-row-sign.chip { margin-left: 6px; font-weight: 500; } /* 흑자/적자는 중립 꼬리표 */
.peer-row-oi.is-profit, .peer-row-oi.is-loss { color: var(--ink-2); }
.peer-row-evidence { min-width: 0; }
.peer-row-evidence .hint, .peer-row-evidence .peer-excerpt {
  display: block; margin: 0; padding: 0; border: 0; background: none; font-size: var(--t-cell); line-height: var(--t-cell-lh); font-weight: 400; color: var(--ink-3);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.peer-row-evidence .peer-evidence-missing { color: var(--ink-4); }
.peer-row-toggle { display: none; cursor: pointer; }
.js-peer-rows .peer-row-toggle { display: inline-flex; }
.peer-row-toggle[aria-expanded="true"] { background: var(--accent-tint); color: var(--accent); }
.peer-row-toggle:focus-visible, .peer-vote-btn:focus-visible { box-shadow: var(--focus-ring); outline: none; }
.js-peer-rows .peer-row:not(.is-open) .peer-row-more { display: none; }

/* 판단 세그먼트: 포함 | 제외 (초록은 "포함" 켜짐에만) */
.peer-vote-buttons { display: inline-flex; gap: 0; flex-wrap: nowrap; }
.peer-row .peer-vote-btn, .peer-vote-buttons .peer-vote-btn { flex: none; min-height: 24px; height: 24px; padding: 0 10px; border: 0; border-radius: 0; background: transparent; color: var(--ink-3); font-size: var(--t-caption); font-weight: 600; line-height: 24px; cursor: pointer; white-space: nowrap; }
.peer-vote-buttons .peer-vote-btn:hover { background: var(--accent-tint); color: var(--ink); }
.peer-vote-buttons .peer-vote-btn--selected.is-include { background: var(--include-tint); color: var(--include); }
.peer-vote-buttons .peer-vote-btn--selected.is-exclude { background: var(--line); color: var(--ink); }
.peer-vote-buttons .peer-vote-btn--selected[data-vote="up"]:not(.is-include) { background: var(--include-tint); color: var(--include); }
.peer-vote-buttons .peer-vote-btn--selected[data-vote="down"]:not(.is-exclude) { background: var(--line); color: var(--ink); }
.peer-vote-status { margin: 0; padding: 0 var(--space-4) var(--space-2); }
.peer-card--active { outline: 3px solid var(--accent); outline-offset: -3px; }
/* 제외한 행: 글자 전부 --ink-3(줄 긋지 않음) */
.peer-row:has(.peer-vote-btn--selected[data-vote="down"]) .peer-card-head strong, .peer-row:has(.peer-vote-btn--selected[data-vote="down"]) .peer-row-num { color: var(--ink-3); }

/* 기준 행·중앙값 행 */
.peer-base-row .peer-row-main { background: var(--accent-tint); }
.peer-base-row .peer-card-head strong, .peer-base-row .peer-row-num, .peer-base-row .peer-row-evidence .hint { color: var(--accent); }
.peer-base-row .chip-accent { background: var(--accent); color: var(--on-accent); }
.peer-base-chip { text-decoration: none; }
.peer-median-row { border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); }
.peer-median-row .peer-card-head strong, .peer-median-row .peer-row-num { color: var(--ink-3); font-weight: var(--t-cell-w); }

/* 근거 펼침: 근거 칩을 누르면 "근거 한 줄" 칸이 행 아래 전체 폭으로 펼쳐지고(인용문 전체), 아래에 출처·원문 링크가 붙는다 */
.peer-row.is-open { background: var(--surface-muted); }
.peer-row.is-open > .peer-row-main > .peer-row-evidence {
  grid-column: 1 / -1; grid-row: 2; margin: 0 0 var(--space-2); padding: var(--space-3) var(--space-4); border-left: 2px solid var(--line-strong); background: transparent;
}
.peer-row.is-open .peer-row-evidence .hint, .peer-row.is-open .peer-row-evidence .peer-excerpt { white-space: normal; overflow: visible; font-size: var(--t-body); line-height: 21px; color: var(--ink-2); }
.peer-row.is-open .peer-row-oneline { display: none; }
.peer-row.is-open .peer-row-evidence .peer-excerpt, .peer-row.is-open .peer-row-evidence .peer-evidence-missing { display: block; }
.peer-row-more { display: grid; gap: var(--space-2); min-width: 0; margin: 0; padding: 0 var(--space-4) var(--space-3); border-top: 0; font-size: var(--t-caption); color: var(--ink-3); }
.peer-row-more > * { margin: 0; min-width: 0; }
.peer-row-more .hint, .peer-row-more .peer-card-fin, .peer-row-more .peer-card-meta { font-size: var(--t-caption); line-height: var(--t-caption-lh); color: var(--ink-3); }
.peer-card-fin strong { font-weight: 600; color: var(--ink-2); }
.peer-fin-link { margin-left: var(--space-1); font-size: var(--t-caption); }
.peer-card-meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-3); align-items: center; }
.peer-row-more a, .peer-row-more .dart-link-btn { color: var(--ink-2); text-decoration: underline; text-underline-offset: 2px; background: none; padding: 0; min-height: 0; font-size: var(--t-caption); font-weight: 500; }
.peer-row-more .peer-dart-link:hover { color: var(--ink); background: none; }
.peer-row-more details { margin: 0; }
.peer-row-more details > summary { cursor: pointer; color: var(--ink-2); font-size: var(--t-caption); }
.peer-row-more details label { display: grid; gap: 6px; margin: var(--space-2) 0; font-size: var(--t-caption); color: var(--ink-3); }
.peer-row-more details textarea { width: 100%; min-height: 64px; padding: 8px 10px; border: 1px solid var(--line-strong); border-radius: var(--r-control); background: var(--surface); color: var(--ink); font: inherit; font-size: var(--t-body); }
.peer-review-reason { display: block; width: 100%; box-sizing: border-box; font: inherit; }
.peer-flags { margin: var(--space-1) 0; }
.peer-flag, .peer-flag.peer-evidence-missing {
  display: inline-block; padding: 0 6px; height: 20px; line-height: 20px; border-radius: var(--r-chip); border: 0; background: var(--chip-bg); color: var(--ink-3);
  font-size: var(--t-caption); font-weight: 500; cursor: help;
}
.peer-flag::after { content: " ⓘ"; }
.peer-evidence-missing { color: var(--ink-4); }
.peer-audit-legend ul { margin: var(--space-2) 0 0; padding-left: var(--space-4); display: grid; gap: var(--space-1); }
.peer-audit-warning { margin-top: var(--space-2); }
.peer-industry-note { color: var(--caution); }

/* 직접 추가한 카드(JS가 만든다, 한 줄 행이 아닌 옛 카드 모양) */
.peer-discovery-container .peer-card:not(.peer-row) { margin: 0 0 var(--space-2); padding: var(--space-3) var(--space-4); border: 1px solid var(--line); border-radius: var(--r-panel); background: var(--surface); box-shadow: none; }
.peer-excerpt { margin: var(--space-2) 0; }
.peer-card:not(.peer-row) .peer-vote-buttons { gap: var(--space-2); }

/* ── 의견 한 줄 + 가격 질문(스펙 §9): 결과 표 바로 아래, 화면을 덮지 않는다 ───────── */
.peer-ask-row { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: var(--space-3) 0; }
.peer-ask-row > .inline-ask { flex: 1 1 320px; min-width: 0; }
.peer-ask-row .inline-ask[hidden] { display: none; }
.peer-ask-row .inline-ask-q { font-size: var(--t-body); }
.peer-ask-row .inline-ask-x { top: 8px; right: 8px; min-height: 32px; padding: 0; }
.peer-feedback-ask { display: block; }
.peer-feedback-ask .button-link { padding: 0 14px; }
.peer-feedback-ask .btn { height: 32px; min-height: 32px; font-size: var(--t-cell); }
.price-ask { flex-grow: 1.25; }
.price-ask .inline-ask-body { margin-left: 16px; }
.price-ask .btn { height: 32px; min-height: 32px; font-size: var(--t-cell); }
.price-ask .btn.picked { background: var(--accent-tint); color: var(--accent); }
.price-ask-text { flex: 1 1 200px; min-width: 160px; height: 32px; min-height: 32px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: var(--r-control); background: var(--surface); color: var(--ink); font: 400 var(--t-cell) var(--font-body); }
.price-ask-text::placeholder { color: var(--ink-4); }
.price-ask-text:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-tint); }
.price-ask-body[hidden], .price-ask-status[hidden] { display: none; }
.price-ask-status { margin-top: var(--space-2); }

/* ── 더 찾기(스펙 §10-B 6번): 2차 후보 묶음을 탭 하나로 ────────────────── */
.peer-discovery-container .peer-more { margin: var(--space-3) 0; padding: 0 var(--space-4); border-radius: var(--r-panel); background: var(--surface); border: 1px solid var(--line); }
.peer-more-tabs { display: flex; gap: var(--space-1); align-items: center; min-height: 48px; overflow-x: auto; border-bottom: 1px solid var(--line); }
.peer-more-tabs[hidden] { display: none; }
.peer-more-label { margin-right: var(--space-3); font-size: var(--t-section); font-weight: 700; white-space: nowrap; }
.peer-more-tabs button { min-height: 32px; padding: 0 10px; border-radius: var(--r-control); background: none; color: var(--ink-3); font-size: var(--t-cell); font-weight: 600; white-space: nowrap; }
.peer-more-tabs button b { margin-left: 4px; font-weight: 500; color: var(--ink-4); }
.peer-more-tabs button:hover { background: var(--chip-bg); color: var(--ink); }
.peer-more-tabs button.is-on, .peer-more-tabs button[aria-expanded="true"] { background: var(--chip-bg); color: var(--ink); }
.peer-more > .peer-more-hint { margin: 0; padding: var(--space-3) 0; color: var(--ink-3); }
.js-peer-more .peer-more > .peer-more-hint { padding-bottom: var(--space-3); }
.peer-more-panel[hidden], [data-analysis-panel][hidden] { display: none !important; }
.peer-more-panel { padding: 0 0 var(--space-3); min-width: 0; }
.peer-more-panel > details > summary, .peer-result-fold > summary { cursor: pointer; padding: var(--space-2) 0; font-size: var(--t-body); color: var(--ink-2); }
.js-peer-more .peer-more-panel > details > summary { display: none; }
.peer-more .peer-result-fold, .peer-more .peer-raw-tier1 { margin: 0; padding: 0; border: 0; }
.peer-more .audit-peer-section h2, .peer-more [data-peer-semantic] h2 { margin: 0 0 var(--space-2); font-size: var(--t-section); line-height: var(--t-section-lh); }
.peer-more .peer-list { margin-top: var(--space-2); border: 1px solid var(--line); border-radius: var(--r-panel); overflow: hidden; }
.peer-more .peer-list > :last-child { border-bottom: 0; }
.peer-more.is-all .peer-more-panel[hidden] { display: block !important; }
.peer-more-panel > details > summary .hint { margin-left: var(--space-2); }
.peer-axis-section { margin: var(--space-5) 0 0; padding-top: var(--space-4); border-top: 1px solid var(--line); min-width: 0; }
.peer-axis-section h3 { margin: 0 0 var(--space-2); font-size: var(--t-body); font-weight: 700; }
.axis-evidence { margin: 0 0 var(--space-2); }
.peer-broad-candidates { margin-top: var(--space-3); }
.peer-broad-candidates > summary { cursor: pointer; font-weight: 700; color: var(--accent); }
.audit-peer-filters {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); margin: var(--space-3) 0; padding: var(--space-3) var(--space-4);
  border: 1px solid var(--line); border-radius: var(--r-panel); background: var(--surface-muted);
}
.audit-peer-filters label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font-size: var(--t-cell); font-weight: 500; color: var(--ink-2); }
.audit-peer-filters label input[type="text"], .audit-peer-filters label input[type="search"], .audit-peer-filters label select { width: auto; min-height: 32px; padding: 0 8px; border: 1px solid var(--line-strong); border-radius: var(--r-control); background: var(--surface); color: var(--ink); font-size: var(--t-cell); }
.audit-peer-filters input[type="checkbox"] { accent-color: var(--accent); width: 18px; height: 18px; }
.audit-filter-reset { width: auto; }
.peer-product-navigation { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-3) 0; }
.peer-product-navigation a { display: inline-flex; align-items: center; height: 28px; padding: 0 10px; border-radius: var(--r-filter); background: var(--chip-bg); color: var(--ink-2); font-size: var(--t-cell); font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.peer-product-navigation a:hover { background: var(--accent-tint); color: var(--accent); }
.peer-product-navigation a:focus-visible { box-shadow: var(--focus-ring); outline: none; }
[data-peer-semantic-content] > details { scroll-margin-top: 1rem; }

/* 먼저 검토할 공시기업 후보 표(compact table) */
.peer-compact-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: var(--space-3) 0; border: 1px solid var(--line); border-radius: var(--r-panel); }
.peer-compact-table { width: 100%; min-width: 820px; border-collapse: collapse; font-size: var(--t-cell); background: var(--surface); }
.peer-compact-table th, .peer-compact-table td { padding: 8px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.peer-compact-table thead th { position: sticky; top: 0; background: var(--surface); color: var(--ink-3); font-size: var(--t-header); font-weight: var(--t-header-w); white-space: nowrap; }
.peer-compact-table tbody tr:last-child > * { border-bottom: 0; }
.peer-compact-business { min-width: 190px; max-width: 280px; }
.peer-compact-actions { min-width: 116px; white-space: nowrap; }
.peer-compact-actions button { min-height: 36px; padding: 6px 8px; border: 0; border-radius: var(--r-control); background: var(--chip-bg); color: var(--ink); cursor: pointer; }
.peer-compact-actions button + button { margin-left: 4px; }
.peer-compact-actions button.peer-vote-btn--selected[data-compact-vote="up"] { background: var(--include-tint); color: var(--include); }
.peer-compact-actions button.peer-vote-btn--selected[data-compact-vote="down"] { background: var(--line); color: var(--ink); }
.peer-selected-comparison-table { min-width: 1180px; }
.peer-selected-comparison-table td:nth-child(9) { min-width: 180px; white-space: pre-line; }
.peer-valuation-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.peer-valuation-fields label { display: grid; gap: 6px; }
.peer-valuation-table { min-width: 900px; }
.peer-valuation-table input { min-width: 140px; }
[data-peer-compact-detail-cards] { margin: var(--space-2) 0 var(--space-3); }
[data-peer-compact-detail-cards] > summary { cursor: pointer; color: var(--accent); font-weight: 600; }

/* ── 분석 저장·내려받기·직접 추가(접힌 도구) ─────────────────────────── */
.peer-discovery-container .peer-tools { margin: var(--space-3) 0; padding: var(--space-3) var(--space-4); border: 1px solid var(--line); border-radius: var(--r-panel); background: var(--surface); }
.peer-tools > summary { cursor: pointer; font-size: var(--t-body); }
.peer-tools > summary .hint { margin-left: var(--space-2); }
.peer-discovery-container .peer-tools .audit-peer-section { margin: var(--space-4) 0 0; padding: var(--space-4) 0 0; border-top: 1px solid var(--line); background: none; }
.peer-tools .audit-peer-section h2 { margin: 0 0 var(--space-2); font-size: var(--t-section); line-height: var(--t-section-lh); }
.peer-discovery-container .audit-peer-section form { display: grid; gap: var(--space-3); }
.peer-discovery-container .peer-tools .peer-search-form { display: flex; height: 40px; }
.peer-discovery-container .audit-peer-section label { display: grid; gap: 6px; color: var(--ink-2); font-size: var(--t-caption); font-weight: 600; }
.peer-discovery-container .audit-peer-section input, .peer-discovery-container .audit-peer-section textarea, .peer-discovery-container .audit-peer-section select {
  width: 100%; min-height: 36px; padding: 6px 10px; border: 1px solid var(--line-strong); border-radius: var(--r-control); background: var(--surface); color: var(--ink); font: inherit; font-size: var(--t-body);
}
.peer-discovery-container .audit-peer-section textarea { min-height: 72px; resize: vertical; }
.peer-discovery-container .audit-peer-section input:focus, .peer-discovery-container .audit-peer-section textarea:focus, .peer-discovery-container .audit-peer-section select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-tint); }
.peer-discovery-container .audit-peer-section fieldset { margin: var(--space-2) 0; padding: var(--space-3) var(--space-4); border: 1px solid var(--line); border-radius: var(--r-panel); }
.peer-discovery-container .audit-peer-section legend { padding: 0 6px; font-weight: 700; color: var(--ink); }
.peer-discovery-container .audit-peer-section fieldset label { display: inline-flex; align-items: center; gap: 6px; margin: 8px 16px 0 0; font-weight: 500; }
.peer-discovery-container .audit-peer-section fieldset input { width: auto; min-height: 0; }
.peer-discovery-container .audit-peer-section input[type="radio"], .peer-discovery-container .audit-peer-section input[type="checkbox"] { accent-color: var(--accent); width: 18px; height: 18px; }
.peer-discovery-container [data-peer-analysis] .btn { margin: 0 var(--space-2) var(--space-2) 0; }
.peer-discovery-container .audit-peer-section .btn { width: auto; }

/* 저장된 분석: 후보 | 재무 비교 | 가치평가 */
.peer-analysis-tabs { display: flex; gap: var(--space-4); margin: 0 0 var(--space-3); border-bottom: 1px solid var(--line); }
.peer-analysis-tabs[hidden] { display: none; }
.peer-analysis-tabs button { min-height: 36px; padding: 0 0 6px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--ink-3); font-size: var(--t-body); font-weight: 600; }
.peer-analysis-tabs button:hover { background: none; color: var(--ink); }
.peer-analysis-tabs button[aria-pressed="true"] { color: var(--ink); border-bottom-color: var(--accent); }

/* ── 휴대폰(640px 미만): 행 두 줄, 가로 넘침 없음 ───────────────────────
   1줄: 회사명 ··· 판단(포함|제외)   2줄: 매출 · 영업이익 흑자 ··· 근거 칩. 근거 한 줄은 칩을 눌러 펼쳤을 때만 보인다. */
@media (max-width: 639.98px) {
  .peer-discovery-container { padding: var(--space-4) var(--space-4) var(--space-5); }
  .peer-discovery-container .peer-bigsearch.is-compact { max-width: none; }
  .peer-discovery-container .peer-discovery-header { margin-top: var(--space-3); }
  .peer-base-summary .page-head { flex-direction: column; gap: var(--space-2); }
  .peer-base-summary .page-head-actions { width: 100%; }
  .peer-base-summary .page-head-actions .btn { flex: 1; justify-content: center; }
  .peer-list-head { display: none; }
  .peer-table-panel .dt-head { flex-direction: column; align-items: flex-start; gap: 2px; }
  .peer-row-main, .peer-list .peer-row-main {
    grid-template-columns: auto auto minmax(0, 1fr) auto; column-gap: 0; row-gap: 2px; padding: 8px var(--space-4); min-height: 64px; align-items: center;
  }
  .peer-row-main > .peer-card-head { grid-column: 1 / 4; grid-row: 1; padding: 0; }
  .peer-row-main > .peer-vote-buttons { grid-column: 4; grid-row: 1; }
  .peer-row-main > .peer-row-rev { grid-column: 1; grid-row: 2; }
  .peer-row-main > .peer-row-oi { grid-column: 2; grid-row: 2; }
  .peer-row-main > .peer-row-toggle, .peer-row-main > .peer-base-chip { grid-column: 4; grid-row: 2; }
  .peer-row-main > .peer-row-evidence { display: none; }
  .peer-row.is-open > .peer-row-main > .peer-row-evidence { display: block; grid-column: 1 / -1; grid-row: 3; margin-top: var(--space-2); }
  .peer-row-label { position: static; width: auto; height: auto; margin: 0 4px 0 0; clip: auto; overflow: visible; font-size: var(--t-caption); color: var(--ink-3); }
  .peer-row-num { font-size: var(--t-caption); line-height: var(--t-caption-lh); text-align: left; }
  .peer-row-rev .peer-row-val::after, .peer-row-oi .peer-row-val::after { content: "억"; }
  .peer-row-oi::before { content: "·"; margin: 0 6px; color: var(--ink-4); }
  .peer-row-oi .peer-row-sign { margin-left: 6px; }
  .peer-median-row .peer-row-main, .peer-base-row .peer-row-main { min-height: 56px; }
  .peer-row .peer-vote-btn, .peer-vote-buttons .peer-vote-btn { min-height: 28px; height: 28px; line-height: 28px; padding: 0 12px; }
  .peer-row-toggle { min-height: 24px; }
  .peer-row .peer-vote-status { padding: 0 var(--space-4) var(--space-2); }
  .peer-row-more { padding: 0 var(--space-4) var(--space-3); }
  .peer-ask-row > .inline-ask { flex-basis: 100%; }
  .price-ask .inline-ask-body, .price-ask-body { margin-left: 0; }
  .price-ask-text { flex-basis: 100%; }
  .peer-more-tabs { padding-bottom: 0; }
  .peer-discovery-container .peer-more { padding: 0 var(--space-3); }
  .peer-valuation-fields { grid-template-columns: minmax(0, 1fr); }
  .peer-compact-table { min-width: 760px; }
  .peer-compact-actions button { min-height: 44px; }
  .peer-discovery-container .peer-search-form button { padding: 0 12px; }
}

/* 근거 칩은 20px 칩 그대로(공통 button 높이 36px를 따르지 않는다), 의견·가격 패널은 위를 맞춘다 */
.peer-row-toggle.chip, .peer-row-main > .peer-base-chip { min-height: 20px; height: 20px; padding: 0 6px; align-self: center; }
.peer-ask-row { align-items: flex-start; }

/* fieldset은 기본이 min-content 폭이라 안의 넓은 표(min-width 900px)가 부모를 밀어 입력칸이 잘렸다 — 모바일 가치평가 폼 */
.peer-discovery-container .audit-peer-section fieldset { min-width: 0; max-width: 100%; }
.peer-discovery-container .peer-valuation-fields input { min-width: 0; }
