/**
 * Frontend styles for Responsive MathJax Equations
 */

:root {
	--rmjax-scroll-hint-color: rgba(255, 255, 255, 0.95);
	--rmjax-scroll-hint-width: 40px;
}

/* Support dark mode theme preference automatically */
@media (prefers-color-scheme: dark) {
	:root {
		--rmjax-scroll-hint-color: rgba(18, 18, 18, 0.95);
	}
}

/* Target both MathJax v2 and v3 elements */
mjx-container,
.MathJax_Display,
.MathJax,
.MathJax_SVG_Display,
.MathJax_SVG {
	max-width: var(--rmjax-max-width, 100%) !important;
}

/* Wrapping wrappers */
.rmjax-wrap-enabled mjx-container,
.rmjax-wrap-enabled .MathJax_Display,
.rmjax-wrap-enabled .MathJax_SVG_Display {
	white-space: normal !important;
}

.rmjax-wrap-enabled mjx-math,
.rmjax-wrap-enabled .MathJax,
.rmjax-wrap-enabled .MathJax_SVG {
	white-space: normal !important;
}

/* Scroll Container Fallback */
.rmjax-scroll-wrapper {
	position: relative;
	display: block;
	width: 100%;
	margin: 1.5em 0;
	clear: both;
}

.rmjax-scroll-container {
	overflow-x: auto !important;
	overflow-y: hidden !important;
	width: 100% !important;
	max-width: 100% !important;
	-webkit-overflow-scrolling: touch;
	padding: 10px 0;
}

/* Elegant thin scrollbar styling */
.rmjax-scroll-container::-webkit-scrollbar {
	height: 6px;
}

.rmjax-scroll-container::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.03);
	border-radius: 99px;
}

.rmjax-scroll-container::-webkit-scrollbar-thumb {
	background: rgba(99, 102, 241, 0.25);
	border-radius: 99px;
}

.rmjax-scroll-container::-webkit-scrollbar-thumb:hover {
	background: rgba(99, 102, 241, 0.5);
}

/* Swipe overlay hints (fading gradients) */
.rmjax-scroll-wrapper::before,
.rmjax-scroll-wrapper::after {
	content: '';
	position: absolute;
	top: 0;
	height: 100%;
	width: var(--rmjax-scroll-hint-width);
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 2;
}

/* Left overlay gradient */
.rmjax-scroll-wrapper::before {
	left: 0;
	background: linear-gradient(to right, var(--rmjax-scroll-hint-color), rgba(255, 255, 255, 0));
}

/* Right overlay gradient */
.rmjax-scroll-wrapper::after {
	right: 0;
	background: linear-gradient(to left, var(--rmjax-scroll-hint-color), rgba(255, 255, 255, 0));
}

/* Active indicator triggers */
.rmjax-scroll-wrapper.has-scroll-left::before {
	opacity: 1;
}

.rmjax-scroll-wrapper.has-scroll-right::after {
	opacity: 1;
}

/* Scaling Container Fallback */
.rmjax-scale-wrapper {
	display: block;
	width: 100%;
	overflow: visible;
	margin: 1.5em 0;
	clear: both;
}

.rmjax-scale-container {
	transform-origin: left center;
	display: inline-block;
	max-width: none !important;
	width: auto !important;
	transition: transform 0.2s ease-out;
}
