.pane { display: flex; flex-direction: column; gap: 8px; padding: 12px; }
.pane-head h3 { margin-right: 4px; }
.pane textarea { min-height: 42vh; flex: 1; white-space: pre; overflow-wrap: normal; overflow-x: auto; }
.pane.over { outline: 2px dashed var(--accent); }
.opts { margin-top: 14px; padding: 12px; }
.opts select { width: auto; min-width: 150px; }
.spacer { flex: 1; }
.toolbar { padding: 10px 12px; position: sticky; top: 49px; z-index: 5; }
.diffbox { margin-top: 10px; padding: 0; overflow: hidden; }
#diff { overflow-x: auto; }
table.d { width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 12.5px; line-height: 1.55; table-layout: fixed; }
table.d td { padding: 0 8px; vertical-align: top; white-space: pre-wrap; word-break: break-all; }
table.d td.n { width: 52px; text-align: right; color: var(--faint); user-select: none; background: var(--surface-2); border-right: 1px solid var(--border); font-size: 11.5px; }
table.d td.s { width: 18px; text-align: center; color: var(--faint); user-select: none; padding: 0; }
table.d.split td.t { width: calc(50% - 52px); }
table.d.split td.t + td.n { border-left: 1px solid var(--border); }
tr.del td.t.a, tr.chg td.t.a, tr.del.il td.t { background: var(--del-bg); }
tr.ins td.t.b, tr.chg td.t.b, tr.ins.il td.t { background: var(--add-bg); }
tr.del td.n.a, tr.chg td.n.a { background: var(--del-bg); }
tr.ins td.n.b, tr.chg td.n.b { background: var(--add-bg); }
td.t.empty { background: repeating-linear-gradient(135deg, transparent 0 6px, var(--hover) 6px 7px) !important; }
del, ins { text-decoration: none; border-radius: 2px; }
del { background: var(--del-strong); }
ins { background: var(--add-strong); }
tr.fold td { text-align: center; background: var(--surface-2); color: var(--subtle); padding: 3px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
tr.fold button { border: 0; background: none; color: var(--accent); cursor: pointer; font: inherit; }
tr.cur td.n { box-shadow: inset 3px 0 0 var(--accent); }
.same { padding: 40px; text-align: center; color: var(--ok); font-size: 15px; }
@media (max-width: 860px) { .toolbar { top: 0; position: static; } }
