/* Custom Dark Scrollbar for Tabs and Body Containers */
.custom-scrollbar::-webkit-scrollbar, 
textarea::-webkit-scrollbar, 
input::-webkit-scrollbar,
pre::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}
.custom-scrollbar::-webkit-scrollbar-track, 
textarea::-webkit-scrollbar-track, 
input::-webkit-scrollbar-track,
pre::-webkit-scrollbar-track {
	background: #0f172a; /* slate-950 */
	border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb, 
textarea::-webkit-scrollbar-thumb, 
input::-webkit-scrollbar-thumb,
pre::-webkit-scrollbar-thumb {
	background: #334155; /* slate-700 */
	border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover, 
textarea::-webkit-scrollbar-thumb:hover, 
input::-webkit-scrollbar-thumb:hover,
pre::-webkit-scrollbar-thumb:hover {
	background: #475569; /* slate-600 */
}

/* Base structural overrides */
select option {
	background-color: #0f172a; /* matches bg-slate-950 */
	color: #cbd5e1; /* slate-300 */
}

/* Highlighting specific adjustments */
#res-code {
    tab-size: 2;
	-moz-tab-size: 2;
}

/* Animations for loader */
@keyframes spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}
.animate-spin {
	animation: spin 1s linear infinite;
}

@keyframes pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: .5; }
}
.animate-pulse {
	animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}