/* excelcompare — tool-specific styles
   只放这个工具独有的东西。公共外观（toolbox / field / alert / chip / examples / hint）
   已经在全局样式表里。

   ★ 不写任何裸色值：一律走主题变量（--surface / --line / --fg / --accent / --good …）。
     本工具没有任何"用户造出来的颜色"，所以这里不该出现一个十六进制色值。 */

.ec-title {
  margin: 0 0 4px;
  font-size: 16px;
}

.ec-lede {
  margin: 0 0 16px;
  font-size: 13.5px;
  color: var(--fg-muted);
}

/* 两列粘贴框：宽屏并排、窄屏上下。auto-fit 而不是断点，少一套要维护的规则。 */
.ec-lists {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px 16px;
  align-items: start;
}

.ec-list-field {
  display: block;
  min-width: 0;
}

.ec-textarea {
  width: 100%;
  resize: vertical;
  line-height: 1.55;
}

/* ── 选项条 ─────────────────────────────────────────────── */

.ec-options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 20px;
  margin-top: 14px;
}

.ec-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}

.ec-check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--fg);
  cursor: pointer;
}

.ec-check input {
  accent-color: var(--accent);
}

/* 阈值滑杆：关掉「近似」开关时整条变暗（并置 disabled），免得以为调了没用 */
.ec-threshold {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

.ec-threshold.is-dim {
  opacity: 0.45;
}

.ec-threshold input[type='range'] {
  width: 130px;
  accent-color: var(--accent);
}

.ec-threshold__out {
  font-family: var(--mono);
  font-size: 13px;
  color: var(--fg-muted);
  min-width: 46px;
}

/* ── 概要小卡 ───────────────────────────────────────────── */

.ec-kv {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
  margin: 16px 0 0;
}

.ec-kv__item {
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.ec-kv__k {
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--fg-faint);
}

.ec-kv__v {
  font-family: var(--mono);
  font-size: 16px;
  color: var(--fg);
  word-break: break-word;
}

.ec-kv__v.is-good {
  color: var(--accent);
}

/* ── 分组 ───────────────────────────────────────────────── */

.ec-sec {
  margin-top: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
  overflow: hidden;
}

.ec-sec__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--fg);
  background: var(--bg-soft);
  border-bottom: 1px solid var(--line);
}

.ec-sec__n {
  padding: 1px 8px;
  border-radius: 999px;
  background: var(--control);
  font-family: var(--mono);
  font-size: 12px;
  color: var(--fg-muted);
}

/* 最值钱的一栏：A 独有 × B 独有 的疑似同一项 —— 给它一条强调边，让它跳出来 */
.ec-sec--money {
  border-color: var(--accent-line);
}

.ec-sec--money .ec-sec__title {
  background: var(--accent-soft);
}

.ec-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ec-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 10px;
  padding: 8px 14px;
  border-top: 1px solid var(--line);
  font-size: 13.5px;
}

.ec-row:first-child {
  border-top: 0;
}

.ec-row__raw {
  font-family: var(--mono);
  color: var(--fg);
  word-break: break-word;
}

/* 折叠后的匹配键：只有在"和原文不一样"时才渲染 —— 用来解释"为什么它俩算同一个" */
.ec-row__key {
  padding: 1px 7px;
  border-radius: var(--radius-sm);
  background: var(--control);
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--fg-muted);
  word-break: break-all;
}

.ec-row__count {
  padding: 1px 7px;
  border-radius: 999px;
  background: var(--accent-soft);
  font-family: var(--mono);
  font-size: 11.5px;
  color: var(--accent);
}

.ec-row__vs {
  color: var(--fg-faint);
}

.ec-row__score {
  margin-left: auto;
  font-family: var(--mono);
  font-size: 12px;
  color: var(--fg-faint);
}

.ec-row__variants {
  flex-basis: 100%;
  font-size: 12px;
  color: var(--fg-faint);
  word-break: break-word;
}

.ec-none {
  margin: 18px 0 0;
  font-size: 13.5px;
  color: var(--fg-muted);
}
