.diffview { display: flex; flex-direction: column; gap: var(--sp-150); min-width: 0; }
.diffview-bar { display: flex; align-items: center; gap: var(--sp-050); min-height: var(--h-btn); }
.diffview-count { color: var(--ink2); padding-left: var(--sp-100); white-space: nowrap; }
.diffview-at { color: var(--ink2); padding: 0 var(--sp-100); white-space: nowrap; }

.diffview-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) var(--sp-150);
  gap: var(--sp-150);
  grid-template-rows: minmax(0, 1fr);
  max-height: 70vh;   /* вне шкалы: доля окна, а не отступ */
}
.diffview-frame {
  display: flex; flex-direction: column; min-height: 0;
  border: var(--bw) solid var(--line);
  border-radius: var(--r-l);
  background: var(--card);
  padding: var(--bw);
}
.diffview-pane {
  position: relative;
  flex: 1 1 auto; min-height: 0;
  overflow: auto;
  border-radius: 0 0 calc(var(--r-l) - var(--bw) * 2) calc(var(--r-l) - var(--bw) * 2);
}
.diffview-head {
  flex: none;
  padding: var(--sp-150) var(--sp-200);
  font-weight: 600;
  background: var(--card);
  border-bottom: 1px solid var(--line);
}
.diffview-group {
  padding: var(--sp-200) var(--sp-200) var(--sp-050);
  font-size: var(--fs-s); line-height: var(--lh-s);
  color: var(--ink2);
}
.diffview-row {
  position: relative;
  display: flex; justify-content: space-between; align-items: baseline; gap: var(--sp-200);
  padding: var(--sp-075) var(--sp-200);
  box-sizing: border-box;
}
.diffview-label { min-width: 0; }
.diffview-value { text-align: right; overflow-wrap: anywhere; }
.diffview-row.is-changed { background: var(--acc-weak); color: var(--acc-ink); }
.diffview-row.is-missing { color: var(--ink3); }
.diffview-row.is-current::before {
  content: ""; position: absolute; left: 0; top: var(--sp-050); bottom: var(--sp-050);
  width: var(--sp-050); border-radius: var(--r-full); background: var(--acc);
}

.diffview-strip {
  position: relative;
  border-radius: var(--r-s);
  background: var(--bg);
}
.diffview-mark {
  position: absolute; left: 0; right: 0;
  height: var(--sp-050);
  padding: 0; border: 0;
  border-radius: var(--r-xs);
  background: var(--acc);
  opacity: .55;
  cursor: pointer;
}
.diffview-mark:hover, .diffview-mark.is-current { opacity: 1; }
