/* Diff tool layout: controls + input dual + side-by-side + inline + patch */

.diff-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem 1.5rem;
    align-items: center;
    padding: 0.75rem 1rem;
    background: var(--c-bg-card);
    border: 1px solid var(--c-line);
    border-radius: var(--r-md);
    margin-bottom: 1rem;
}
.diff-control {
    display: inline-flex;
    flex-direction: column;
    gap: 0.3rem;
}
.diff-control > span,
.diff-opt-row > span {
    font-size: 0.78rem;
    color: var(--c-ink-soft);
    font-weight: 500;
}
.diff-control-inline { flex-direction: row; align-items: center; gap: 0.4rem; }
.diff-opt-row {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.diff-select {
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--c-line);
    border-radius: var(--r-sm);
    font-size: 0.85rem;
    background: var(--c-bg-card);
}

.diff-input-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}
@media (min-width: 1024px) {
    .diff-input-grid { grid-template-columns: 1fr 1fr; }
}

.diff-input-wrap { display: flex; flex-direction: column; gap: 0.3rem; }
.diff-input-label { font-size: 0.78rem; font-weight: 600; color: var(--c-ink-soft); }

.diff-textarea {
    width: 100%;
    padding: 0.65rem 0.85rem;
    border: 1px solid var(--c-line);
    border-radius: var(--r-sm);
    font-family: var(--font-mono);
    font-size: 13px;
    line-height: 1.55;
    resize: vertical;
    background: var(--c-bg-card);
    color: var(--c-ink);
}
.diff-textarea:focus { outline: none; box-shadow: var(--ring); border-color: var(--c-blue); }

.diff-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.75rem 0; }

.diff-stats {
    margin: 0.5rem 0 0.75rem;
    font-family: var(--font-mono);
    font-size: 0.85rem;
    color: var(--c-ink-mute);
}
.diff-stat-add { color: #047857; font-weight: 700; }
.diff-stat-rem { color: #b91c1c; font-weight: 700; }
.diff-stat-eq  { color: var(--c-ink-mute); }

.diff-output-heading {
    margin: 1.25rem 0 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--c-ink);
}

.diff-side-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
}
@media (min-width: 1024px) {
    .diff-side-grid { grid-template-columns: 1fr 1fr; }
}

.diff-side-pane,
.diff-inline-pane {
    margin: 0;
    padding: 0.85rem 1rem;
    background: var(--c-bg);
    border: 1px solid var(--c-line);
    border-radius: var(--r-sm);
    font-family: var(--font-mono);
    font-size: 13px;
    line-height: 1.55;
    overflow: auto;
    max-height: 500px;
    white-space: pre-wrap;
    word-break: break-word;
    color: var(--c-ink);
}

.diff-added   { background: #d4f5e1; color: #064e3b; }
.diff-removed { background: #fee2e2; color: #7f1d1d; text-decoration: line-through; }
.diff-empty   { color: var(--c-ink-mute); font-style: italic; }

.diff-patch {
    background: var(--c-bg);
    font-size: 12px;
    margin-top: 0.5rem;
}
