.diff-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}
.diff-table td,.diff-table th{padding:2px 8px;vertical-align:top;white-space:pre-wrap;word-break:break-all}
.diff-gutter{width:42px;text-align:right;user-select:none;color:#475569;background:#090e1a;border-right:1px solid #1e293b;padding-right:8px!important;font-weight:600}
.diff-sign{width:22px;text-align:center;user-select:none;font-weight:700}
.diff-line-add{background:rgba(16,185,129,0.12);color:#a7f3d0}
.diff-line-add .diff-sign{color:#34d399}
.diff-line-del{background:rgba(244,63,94,0.12);color:#fecdd3}
.diff-line-del .diff-sign{color:#fb7185}
.diff-line-mod{background:rgba(245,158,11,0.08);color:#fde68a}
.diff-line-mod .diff-sign{color:#fbbf24}
.diff-line-eq{color:#94a3b8}
.diff-word-add{background:rgba(16,185,129,0.35);color:#ffffff;border-radius:2px;padding:0 2px;font-weight:700}
.diff-word-del{background:rgba(244,63,94,0.35);color:#ffffff;border-radius:2px;padding:0 2px;text-decoration:line-through}
.diff-split-col{width:50%;border-right:1px solid #1e293b}
.diff-split-col:last-child{border-right:none}

/* High Contrast Compare Button */
.btn-compare-primary {
    background: linear-gradient(135deg, #0284c7 0%, #2563eb 50%, #4f46e5 100%) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.45), 0 4px 6px -2px rgba(37, 99, 235, 0.2) !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.btn-compare-primary:hover {
    background: linear-gradient(135deg, #0ea5e9 0%, #3b82f6 50%, #6366f1 100%) !important;
    box-shadow: 0 15px 30px -5px rgba(37, 99, 235, 0.6), 0 6px 10px -2px rgba(37, 99, 235, 0.3) !important;
    transform: translateY(-1px);
    color: #ffffff !important;
}
.btn-compare-primary:active {
    transform: translateY(0) scale(0.98);
}
.btn-compare-primary * {
    color: #ffffff !important;
}
