/* History overlay: version list and line diff (template + data timelines) */

.hist { flex: 1; display: flex; min-height: 0; }
.hist-list {
  width: 252px; flex: none;
  border-right: 1px solid var(--border);
  overflow-y: auto;
  background: var(--surface2);
  padding: 8px;
}
.ver-item {
  display: block; width: 100%; text-align: left;
  padding: 8px 10px; border-radius: 8px;
  border: 1px solid transparent;
  margin-bottom: 2px;
}
.ver-item:hover { background: var(--sel); }
.ver-item.on { background: var(--surface); border-color: var(--border); }
.ver-item .v-top { display: flex; gap: 6px; align-items: baseline; }
.ver-item .v-no { font-family: var(--mono); font-size: 11px; color: var(--accent-ink); font-weight: 700; }
.ver-item .v-label { font-weight: 550; font-size: 12.5px; flex: 1; }
.ver-item .v-meta { color: var(--muted); font-size: 11px; margin-top: 2px; }
.ver-item .v-author { font-family: var(--mono); font-size: 10px; padding: 1px 5px; border-radius: 4px; background: var(--sel); color: var(--muted); }
.ver-item .v-author.ai { background: var(--accent-soft); color: var(--accent-ink); }
/* engine build of a version: subtle for core, accented for legacy (the old engine) */
.ver-item .v-engine { flex: none; font-family: var(--mono); font-size: 10px; padding: 1px 5px; border-radius: 4px; background: var(--sel); color: var(--muted); }
.ver-item .v-engine.legacy { background: color-mix(in srgb, var(--warn) 12%, transparent); color: var(--warn); }
.hist-diff { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.hist-diff-head {
  flex: none; display: flex; align-items: center; gap: 10px;
  padding: 8px 14px; border-bottom: 1px solid var(--border);
  font-size: 12px; color: var(--muted);
}
.hist-diff-body { flex: 1; overflow: auto; padding: 10px 0; }
.diff-line {
  font-family: var(--mono); font-size: 12px; line-height: 1.55;
  white-space: pre; padding: 0 14px 0 10px;
  border-left: 3px solid transparent;
}
.diff-line .dmark { display: inline-block; width: 16px; color: var(--faint); user-select: none; }
.diff-line.add { background: color-mix(in srgb, var(--accent) 11%, transparent); border-left-color: var(--accent); }
.diff-line.add .dmark { color: var(--accent-ink); }
.diff-line.del { background: color-mix(in srgb, var(--danger) 10%, transparent); border-left-color: var(--danger); }
.diff-line.del .dmark { color: var(--danger); }
.diff-stat { font-family: var(--mono); font-size: 11px; }
.diff-stat .plus { color: var(--accent-ink); font-weight: 700; }
.diff-stat .minus { color: var(--danger); font-weight: 700; }
