/* osir.co.uk: Text & Config Diff */
.df-in .u-text { min-height: 240px; }
.df-in .u-text.is-over { border-color: var(--brand-1); background: color-mix(in srgb, var(--brand-1) 6%, var(--surface-solid)); }
.df-name { font-size: 12.5px; color: var(--muted); font-family: var(--mono); word-break: break-all; }
.df-opts { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: flex-end; }
.df-opts .t-field { flex: 0 1 260px; }
.df-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-top: 16px; }
.df-bar .u-btns { margin-top: 0; }
.df-ext { width: auto; height: 34px; font-size: 13.5px; padding: 0 8px; border-radius: 10px; }

.df-wrap { margin-top: 14px; max-height: 75vh; overflow: auto; border: 1px solid var(--border); border-radius: 14px; background: var(--surface-solid); }
.df-table { width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 12.5px; line-height: 1.5; table-layout: fixed; }
.df-table td { padding: 0 8px; vertical-align: top; white-space: pre-wrap; overflow-wrap: anywhere; }
.df-table .df-n { width: 48px; text-align: right; color: var(--muted); user-select: none; background: var(--surface-2); border-right: 1px solid var(--border); font-size: 11.5px; padding-top: 1px; }
.df-split .df-c:nth-child(2) { border-right: 1px solid var(--border-strong); }
.df-c.df-del { background: rgba(220, 38, 38, .09); }
.df-c.df-ins { background: rgba(22, 163, 74, .1); }
.df-c.df-empty { background: repeating-linear-gradient(135deg, transparent 0 6px, var(--surface-2) 6px 8px); }
.df-x-del { background: rgba(220, 38, 38, .28); border-radius: 2px; text-decoration: line-through; text-decoration-color: rgba(185, 28, 28, .5); }
.df-x-ins { background: rgba(22, 163, 74, .3); border-radius: 2px; }
.df-sign { display: inline-block; width: 14px; color: var(--muted); user-select: none; }
.df-u-del .df-sign { color: #b91c1c; }
.df-u-ins .df-sign { color: #15803d; }
.df-skip td { padding: 4px 10px; background: var(--surface-2); color: var(--muted); font-family: var(--font); font-size: 12.5px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
:root[data-theme="dark"] .df-c.df-del { background: rgba(248, 113, 113, .13); }
:root[data-theme="dark"] .df-c.df-ins { background: rgba(74, 222, 128, .12); }
:root[data-theme="dark"] .df-x-del { background: rgba(248, 113, 113, .35); }
:root[data-theme="dark"] .df-x-ins { background: rgba(74, 222, 128, .32); }
:root[data-theme="dark"] .df-u-del .df-sign { color: #f87171; }
:root[data-theme="dark"] .df-u-ins .df-sign { color: #4ade80; }
.df-unified .df-n { width: 44px; }
@media (max-width: 560px) {
  .df-table { font-size: 11.5px; }
  .df-table .df-n { width: 30px; padding: 0 3px; }
  .df-table td { padding: 0 4px; }
}
