textarea::-webkit-scrollbar { width: 8px; }
textarea::-webkit-scrollbar-track { background: #f8fafc; }
textarea::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.animate-fade-in { animation: fadeIn 0.4s ease-out forwards; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }

.diff-url {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 0.85rem; line-height: 1.6; word-break: break-all;
    display: block; padding: 0.75rem; background: #ffffff;
    border-radius: 0.375rem; border: 1px solid #cbd5e1; box-shadow: inset 0 1px 2px rgba(0,0,0,0.05);
}

.match-green { background-color: #dcfce7; color: #14532d; font-weight: 700; padding: 0 2px; border-radius: 2px; }
.mismatch-red { background-color: #fee2e2; color: #7f1d1d; font-weight: 700; padding: 0 2px; border-radius: 2px; border-bottom: 2px solid #ef4444; }
.culture-blue { background-color: #3b82f6; color: #ffffff; font-weight: 900; padding: 1px 4px; border-radius: 4px; box-shadow: 0 1px 3px rgba(0,0,0,0.2); }
.culture-red { background-color: #ef4444; color: #ffffff; font-weight: 900; padding: 1px 4px; border-radius: 4px; box-shadow: 0 1px 3px rgba(0,0,0,0.2); }
.url-punctuation { color: #94a3b8; font-weight: 400; }
.table-row-hover:hover { background-color: #f1f5f9; }