.diff-canvas{display:grid;gap:.85rem}.diff-summary{display:flex;justify-content:space-between;gap:.75rem;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.07em;text-transform:uppercase;color:var(--color-muted)}.diff-summary-stats{display:inline-flex;gap:.5rem}.diff-add-count{color:var(--color-success);font-style:normal}.diff-del-count{color:var(--color-danger);font-style:normal}.diff-file{border:1px solid var(--color-line);border-radius:var(--radius);background:var(--color-surface);overflow:hidden}.diff-file-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .6rem;border-bottom:1px solid var(--color-line);background:var(--color-surface-strong)}.diff-file-path{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-file-stats{display:inline-flex;gap:.5rem;font-family:var(--font-mono);font-size:.625rem}.diff-hunk,.diff-line{display:grid}.diff-line{grid-template-columns:1.25rem minmax(0,1fr);font-family:var(--font-mono);font-size:.65625rem;line-height:1.6}.diff-gutter{text-align:center;user-select:none}.diff-text{padding-left:.5rem;white-space:pre-wrap;overflow-wrap:anywhere}.diff-line.hunk{background:color-mix(in oklab,var(--color-accent-ink) 82%,var(--color-accent));color:var(--color-accent-strong)}.diff-line.add{background:color-mix(in oklab,var(--color-success) 16%,var(--color-surface));color:var(--color-ink)}.diff-line.remove{background:color-mix(in oklab,var(--color-danger) 14%,var(--color-surface));color:var(--color-ink)}.diff-line.context,.diff-line.meta{color:var(--color-muted);background:var(--color-surface)}.diff-line.add .diff-gutter{color:var(--color-success)}.diff-line.remove .diff-gutter{color:var(--color-danger)}.diff-preview{max-height:min(48dvh,34rem);margin:0;overflow:auto;padding:.75rem;border:1px solid var(--color-line);background:var(--color-ink);color:var(--color-paper);font-family:var(--font-mono);font-size:.65625rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}