/* 文本比对 · 页面专属样式 */
.diff-result {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-soft);
  max-height: 62vh;
  overflow: auto;
  font-family: var(--mono);
  font-size: 13.5px;
  line-height: 1.75;
}
.diff-result > p { padding: 18px; margin: 0; }

.diff-lines .dl {
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid color-mix(in srgb, var(--border) 55%, transparent);
}
.diff-lines .dl:last-child { border-bottom: none; }
.diff-lines .ln {
  flex: none;
  width: 46px;
  padding: 2px 8px;
  text-align: right;
  color: var(--text-mute);
  background: color-mix(in srgb, var(--bg) 60%, transparent);
  user-select: none;
  font-size: 12px;
}
.diff-lines .sg {
  flex: none;
  width: 22px;
  text-align: center;
  color: var(--text-mute);
  user-select: none;
}
.diff-lines .tx { flex: 1; padding: 2px 10px 2px 0; white-space: pre-wrap; word-break: break-word; }
.diff-lines .dl.del { background: color-mix(in srgb, #d64545 13%, transparent); }
.diff-lines .dl.del .sg { color: var(--danger); font-weight: 700; }
.diff-lines .dl.ins { background: color-mix(in srgb, #17936a 14%, transparent); }
.diff-lines .dl.ins .sg { color: var(--ok); font-weight: 700; }

.diff-inline {
  padding: 14px 16px;
  white-space: pre-wrap;
  word-break: break-word;
}
.diff-inline del {
  background: color-mix(in srgb, #d64545 20%, transparent);
  color: var(--danger);
  text-decoration: line-through;
  border-radius: 3px;
}
.diff-inline ins {
  background: color-mix(in srgb, #17936a 22%, transparent);
  color: var(--ok);
  text-decoration: none;
  border-radius: 3px;
}

@media (max-width: 720px) {
  .diff-result { font-size: 12.5px; max-height: 55vh; }
  .diff-lines .ln { width: 34px; padding: 2px 4px; font-size: 11px; }
}
