/* diff 专用，依赖 /home.css 变量与 /tool.css */
.panes + .panes { margin-top: 28px; }

.diff {
  --green: oklch(0.55 0.15 150);
  max-height: 70vh;
  overflow-y: auto;
  border: 1px solid var(--rule);
  font: 13px/1.6 var(--mono);
  color: var(--ink);
}
.diff:empty { display: none; }
.diff .row {
  display: grid;
  grid-template-columns: var(--nw, 3ch) var(--nw, 3ch) 1.2em minmax(0, 1fr);
  gap: 0 8px;
  padding: 0 10px;
}
.diff .n { color: var(--ink-2); text-align: right; user-select: none; font-variant-numeric: tabular-nums; }
.diff .sg { user-select: none; text-align: center; }
.diff .tx { white-space: pre-wrap; word-break: break-all; min-height: 1.6em; }
.diff .del { background: color-mix(in oklch, var(--accent) 16%, transparent); }
.diff .add { background: color-mix(in oklch, var(--green) 18%, transparent); }
.diff .del .sg { color: var(--accent); }
.diff .add .sg { color: color-mix(in oklch, var(--green) 75%, var(--ink)); }
.diff .more { display: block; padding: 8px 10px; color: var(--ink-2); }

.stat-add { color: color-mix(in oklch, oklch(0.55 0.15 150) 75%, var(--ink)); }
.stat-del { color: var(--accent); }

@media (max-width: 560px) {
  .diff { font-size: 12px; }
  .diff .row { gap: 0 5px; padding: 0 6px; }
}
