/* text-diff-tool — extracted from inline <style> */
.diff-inputs {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
}
.diff-inputs textarea {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 0.8125rem; line-height: 1.6; min-height: 200px;
}
.diff-output {
  margin-top: 1.25rem; border: 1px solid var(--evvy-border-color, #DEE2E6);
  border-radius: var(--evvy-radius-lg, 12px); overflow: hidden;
  font-family: 'SFMono-Regular', Consolas, monospace; font-size: 0.8125rem;
}
.diff-header {
  display: grid; grid-template-columns: 1fr 1fr;
  font-size: 0.6875rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.04em;
}
.diff-header div {
  padding: 0.5rem 0.75rem;
  background: var(--cluster-dark); color: var(--cluster-text, #fff);
}
.diff-header div:first-child { border-right: 1px solid rgba(255,255,255,0.15); }
.diff-body { max-height: 500px; overflow-y: auto; }
.diff-row {
  display: grid; grid-template-columns: 30px 1fr 30px 1fr;
  border-bottom: 1px solid var(--evvy-border-color);
  min-height: 1.6em;
}
.diff-row.inline-mode { grid-template-columns: 30px 30px 1fr; }
.diff-ln {
  padding: 0.15rem 0.35rem; text-align: right;
  font-size: 0.6875rem; color: var(--evvy-text-secondary);
  background: var(--cluster-surface, #f8f9fa);
  user-select: none; border-right: 1px solid var(--evvy-border-color);
}
.diff-cell { padding: 0.15rem 0.5rem; white-space: pre-wrap; word-break: break-word; }
.diff-add { background: color-mix(in srgb, #198754 12%, var(--bs-body-bg)); }
.diff-del { background: color-mix(in srgb, #dc3545 12%, var(--bs-body-bg)); }
.diff-del-text { text-decoration: line-through; color: #dc3545; }
.diff-add-text { color: #198754; font-weight: 600; }
.diff-char-add { background: color-mix(in srgb, #198754 25%, transparent); border-radius: 2px; }
.diff-char-del { background: color-mix(in srgb, #dc3545 25%, transparent); border-radius: 2px; text-decoration: line-through; }
.diff-merge-btn {
  font-size: 0.625rem; padding: 0.1rem 0.35rem; border-radius: 4px;
  border: 1px solid var(--evvy-border-color); background: var(--bs-body-bg);
  cursor: pointer; margin-left: 0.25rem; white-space: nowrap;
}
.diff-merge-btn:hover { background: var(--cluster-surface); }
[data-bs-theme="dark"] .diff-header div { color: #1a1a2e; }
@media (max-width: 767.98px) {
  .diff-inputs { grid-template-columns: 1fr; }
  .diff-row { grid-template-columns: 25px 1fr 25px 1fr; }
}
