/* Text Compare — furniture beyond the shared .ftb-tool block in core.css. */

.ftb-tool-txtcmp textarea{min-height:200px;font-family:var(--ftb-mono);
	font-size:var(--ftb-text-code);line-height:1.5;overflow-wrap:anywhere}
.ftb-tool-txtcmp .ftb-tool-grid{min-height:260px}

.ftb-tool-txtcmp .ftb-tc-settings{display:grid;gap:var(--ftb-space-4);
	grid-template-columns:1fr;margin-bottom:var(--ftb-space-5)}
@media (min-width:900px){
	.ftb-tool-txtcmp .ftb-tc-settings{grid-template-columns:auto 1fr;align-items:center}
}
.ftb-tool-txtcmp .ftb-tc-modes{display:flex;flex-wrap:wrap;align-items:center;
	gap:var(--ftb-space-2)}
.ftb-tool-txtcmp .ftb-tc-modelab{font-size:var(--ftb-text-sm);
	font-weight:var(--ftb-fw-semi);color:var(--ftb-text-muted)}
.ftb-tool-txtcmp .ftb-tc-mode{min-height:40px;
	padding:var(--ftb-space-2) var(--ftb-space-4);font-size:var(--ftb-text-sm);
	font-weight:var(--ftb-fw-semi);font-family:inherit;color:var(--ftb-text);
	background:var(--ftb-bg);border:1px solid var(--ftb-border-strong);
	border-radius:var(--ftb-radius);cursor:pointer}
.ftb-tool-txtcmp .ftb-tc-mode:hover{background:var(--ftb-surface);
	border-color:var(--ftb-primary)}
.ftb-tool-txtcmp .ftb-tc-mode:focus-visible{outline:2px solid var(--ftb-primary);
	outline-offset:2px}
.ftb-tool-txtcmp .ftb-tc-mode[aria-pressed="true"]{background:var(--ftb-primary);
	color:var(--ftb-on-primary);border-color:var(--ftb-primary)}

.ftb-tool-txtcmp .ftb-tc-summary{display:grid;gap:var(--ftb-space-3);
	grid-template-columns:repeat(2,1fr);margin:var(--ftb-space-5) 0}
@media (min-width:600px){
	.ftb-tool-txtcmp .ftb-tc-summary{grid-template-columns:repeat(4,1fr)}
}
.ftb-tool-txtcmp .ftb-tc-stat{display:flex;flex-direction:column;
	gap:var(--ftb-space-1);padding:var(--ftb-space-4);text-align:center;
	background:var(--ftb-surface);border:1px solid var(--ftb-border);
	border-radius:var(--ftb-radius);
	/* Reserved so the result appearing never shifts the page (§10 CLS). */
	min-height:84px;justify-content:center}
.ftb-tool-txtcmp .ftb-tc-num{font-size:var(--ftb-text-xl);
	font-weight:var(--ftb-fw-bold);color:var(--ftb-text);
	font-variant-numeric:tabular-nums;line-height:1.15}
.ftb-tool-txtcmp .ftb-tc-num--add{color:var(--ftb-success)}
.ftb-tool-txtcmp .ftb-tc-num--del{color:var(--ftb-error)}
.ftb-tool-txtcmp .ftb-tc-lab{font-size:var(--ftb-text-xs);
	color:var(--ftb-text-muted);font-weight:var(--ftb-fw-semi)}

/* The diff itself. Added and removed carry a background AND a text decoration,
   so the distinction survives for anyone who cannot separate the two colours
   (§9: never colour alone). */
.ftb-tool-txtcmp .ftb-tc-out{margin-bottom:var(--ftb-space-5);
	padding:var(--ftb-space-4);min-height:120px;max-height:520px;overflow:auto;
	background:var(--ftb-surface);border:1px solid var(--ftb-border);
	border-radius:var(--ftb-radius);
	font-family:var(--ftb-mono);font-size:var(--ftb-text-code);
	line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.ftb-tool-txtcmp .ftb-tc-equal{color:var(--ftb-text-muted)}
.ftb-tool-txtcmp .ftb-tc-insert{background:var(--ftb-success-soft);
	color:var(--ftb-success);text-decoration:underline;
	text-decoration-thickness:2px;text-underline-offset:2px;
	border-radius:2px}
.ftb-tool-txtcmp .ftb-tc-delete{background:var(--ftb-error-soft);
	color:var(--ftb-error);text-decoration:line-through;
	text-decoration-thickness:2px;border-radius:2px}
