/* Base Styles & Custom Scrollbar */
.custom-scrollbar::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent; 
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: rgba(156, 163, 175, 0.4); 
    border-radius: 5px;
    border: 2px solid transparent;
    background-clip: padding-box;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: rgba(156, 163, 175, 0.6); 
    border: 2px solid transparent;
    background-clip: padding-box;
}

/* Diff Line Styles */
.diff-line-num {
    color: #6B7280; /* gray-500 */
    background-color: transparent;
    padding: 0 8px;
    text-align: right;
    user-select: none;
    border-right: 1px solid #E5E7EB;
}
.dark .diff-line-num {
    color: #4B5563; /* gray-600 */
    border-right-color: #27272A;
}

/* Row states */
.diff-row-empty {
    background-color: rgba(0,0,0,0.02);
}
.dark .diff-row-empty {
    background-color: rgba(255,255,255,0.02);
}

.diff-row-delete .diff-line-num { background-color: rgba(239, 68, 68, 0.1); }
.diff-row-insert .diff-line-num { background-color: rgba(16, 185, 129, 0.1); }

.diff-cell-content {
    padding: 0 12px;
    vertical-align: top;
    word-break: break-all;
    position: relative;
    line-height: 1.6;
}

/* Deletion */
.diff-delete {
    background-color: rgba(239, 68, 68, 0.1); /* Red */
    color: #991B1B;
}
.dark .diff-delete {
    background-color: rgba(239, 68, 68, 0.15);
    color: #FCA5A5;
}
.diff-delete-inline {
    background-color: rgba(239, 68, 68, 0.3);
    text-decoration: line-through;
    border-radius: 2px;
}

/* Insertion */
.diff-insert {
    background-color: rgba(16, 185, 129, 0.1); /* Emerald */
    color: #065F46;
}
.dark .diff-insert {
    background-color: rgba(16, 185, 129, 0.15);
    color: #6EE7B7;
}
.diff-insert-inline {
    background-color: rgba(16, 185, 129, 0.3);
    border-radius: 2px;
}

/* Matches */
.diff-match {
    color: #374151;
}
.dark .diff-match {
    color: #D1D5DB;
}

/* Unified Specific */
.unified-indicator {
    padding: 0 4px;
    text-align: center;
    font-weight: bold;
    user-select: none;
    border-right: 1px solid #E5E7EB;
}
.dark .unified-indicator { border-right-color: #27272A; }
.unified-indicator.insert { color: #10B981; }
.unified-indicator.delete { color: #EF4444; }

/* Focus states for input */
textarea:focus {
    box-shadow: inset 0 0 0 1px transparent; /* override default text area focus styles */
}
