.imahilab-story-reader {
	position: relative;
	--imahilab-story-text-bg-rgb: 11,15,24;
	--imahilab-story-text-bg-opacity: 0;
	--imahilab-story-top-bg-rgb: 11,15,24;
	--imahilab-story-top-bg-opacity: 0;
	--imahilab-story-title-color: #ffffff;
}

.imahilab-story-reader .imahilab-story-reader__title {
	color: var(--imahilab-story-title-color, #ffffff);
}

.imahilab-story-reader > *:not(.imahilab-story-visualizer-bg) {
	position: relative;
	z-index: 1;
}

.imahilab-story-visualizer-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.6s ease, visibility 0.6s ease;
	pointer-events: none;
	overflow: hidden;
}

.imahilab-story-visualizer-bg.is-active {
	opacity: 1;
	visibility: visible;
}

.imahilab-story-visualizer-bg .cavinx-auth-native-layer {
	pointer-events: none;
}

.imahilab-story-visualizer-bg .cavinx-auth-native-layer__inner,
.imahilab-story-visualizer-bg .cavinx-auth-native-layer__fallback {
	pointer-events: none;
}

.imahilab-story-reader.has-story-text-bg .imahilab-story-reader__content-shape {
	--imahilab-active-story-bg-rgb: var(--imahilab-story-text-bg-rgb);
	--imahilab-active-story-bg-opacity: var(--imahilab-story-text-bg-opacity);
}

.imahilab-story-reader.has-story-top-bg .imahilab-story-reader__header,
.imahilab-story-reader.has-story-top-bg .imahilab-story-reader__position {
	--imahilab-active-story-bg-rgb: var(--imahilab-story-top-bg-rgb);
	--imahilab-active-story-bg-opacity: var(--imahilab-story-top-bg-opacity);
}

.imahilab-story-reader.has-story-text-bg .imahilab-story-reader__content-shape,
.imahilab-story-reader.has-story-top-bg .imahilab-story-reader__header,
.imahilab-story-reader.has-story-top-bg .imahilab-story-reader__position {
	background:
		linear-gradient(
			180deg,
			rgba(
				var(--imahilab-active-story-bg-rgb),
				calc(
					var(--imahilab-active-story-bg-opacity)
					+ ((1 - var(--imahilab-active-story-bg-opacity)) * 0.08)
				)
			),
			rgba(var(--imahilab-active-story-bg-rgb), var(--imahilab-active-story-bg-opacity))
		);
	border: 1px solid rgba(255, 255, 255, calc(0.07 + (var(--imahilab-active-story-bg-opacity) * 0.24)));
	box-shadow:
		0 14px 30px rgba(2, 8, 20, calc(0.16 + (var(--imahilab-active-story-bg-opacity) * 0.28))),
		inset 0 1px 0 rgba(255, 255, 255, calc(0.05 + (var(--imahilab-active-story-bg-opacity) * 0.12)));
	backdrop-filter: blur(3px) saturate(120%);
	-webkit-backdrop-filter: blur(3px) saturate(120%);
	border-radius: 16px;
}

.imahilab-story-reader.has-story-text-bg .imahilab-story-reader__content-shape {
	border-left: 2px solid rgba(93, 216, 255, 0.42);
	display: block;
	padding: 2px 14px;
}

.imahilab-story-reader.has-story-top-bg .imahilab-story-reader__header {
	border-bottom: 0;
	box-sizing: border-box;
	display: block;
	margin-bottom: 1.2rem;
	max-width: min(100%, 760px);
	padding: 0.55rem 0.95rem 0.8rem;
	width: fit-content;
}

.imahilab-story-reader.has-story-top-bg .imahilab-story-reader__position {
	align-items: center;
	border-radius: 999px;
	display: inline-flex;
	justify-content: center;
	min-width: 5.6rem;
	padding: 0.24rem 0.82rem;
}

.imahilab-story-reader.has-story-top-bg .imahilab-story-reader__chapter-index {
	opacity: 0.94;
}

.imahilab-story-reader.has-story-top-bg .imahilab-story-reader__chapter-index,
.imahilab-story-reader.has-story-top-bg .imahilab-story-reader__meta,
.imahilab-story-reader.has-story-top-bg .imahilab-story-reader__position {
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

.imahilab-story-reader.has-story-top-bg .imahilab-story-reader__meta span {
	background:
		linear-gradient(180deg, rgba(206, 227, 216, 0.5), rgba(181, 206, 194, 0.44)),
		linear-gradient(90deg, rgba(93, 216, 255, 0.025), rgba(84, 197, 152, 0.025));
	border: 1px solid rgba(96, 138, 118, 0.18);
	border-radius: 999px;
	box-shadow:
		0 1px 4px rgba(8, 38, 26, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.2);
	color: rgba(25, 58, 44, 0.68);
	font-weight: 500;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.12);
}

/* Improve toolbar readability over bright story backgrounds. */
.imahilab-story-reader .imahilab-story-reader__toolbar {
	position: relative;
	background:
		linear-gradient(180deg, rgba(var(--imahilab-story-top-bg-rgb, 11, 15, 24), 0.42), rgba(var(--imahilab-story-top-bg-rgb, 11, 15, 24), 0.26)),
		linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0));
	backdrop-filter: blur(10px) saturate(126%);
	-webkit-backdrop-filter: blur(10px) saturate(126%);
}

.imahilab-story-reader .imahilab-story-reader__toolbar {
	border-bottom: 1px solid rgba(227, 240, 255, 0.26);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.24),
		0 10px 22px rgba(2, 8, 20, 0.2);
}

.imahilab-story-reader .imahilab-story-reader__nav {
	border-top: 0;
	background: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	box-shadow: none;
}

.imahilab-story-reader .imahilab-story-reader__toolbar-btn,
.imahilab-story-reader .imahilab-story-reader__nav-btn {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0.06)),
		linear-gradient(180deg, rgba(8, 16, 30, 0.72), rgba(8, 16, 30, 0.46));
	border: 1px solid rgba(224, 238, 255, 0.4);
	box-shadow:
		0 6px 16px rgba(2, 8, 20, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.28);
	color: #f4f9ff;
	cursor: pointer;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
	-webkit-tap-highlight-color: transparent;
}

.imahilab-story-reader .imahilab-story-reader__toolbar-btn {
	min-height: 36px;
	padding-inline: 0.78rem;
	transition: transform 0.14s ease, border-color 0.18s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.imahilab-story-reader .imahilab-story-reader__toolbar-btn:hover,
.imahilab-story-reader .imahilab-story-reader__toolbar-btn:focus-visible {
	background:
		linear-gradient(180deg, rgba(200, 239, 255, 0.4), rgba(107, 189, 255, 0.16)),
		linear-gradient(180deg, rgba(10, 23, 42, 0.9), rgba(10, 23, 42, 0.66));
	border-color: rgba(166, 230, 255, 0.96);
	box-shadow:
		0 12px 26px rgba(2, 8, 20, 0.42),
		0 0 0 1px rgba(117, 205, 255, 0.3),
		inset 0 1px 0 rgba(229, 246, 255, 0.5);
	color: #ffffff;
	transform: translateY(-1px);
}

.imahilab-story-reader .imahilab-story-reader__toolbar-btn:active {
	transform: translateY(0);
	box-shadow:
		0 4px 10px rgba(2, 8, 20, 0.34),
		inset 0 1px 0 rgba(210, 238, 255, 0.42);
}

.imahilab-story-reader .imahilab-story-reader__nav-btn:hover:not(:disabled),
.imahilab-story-reader .imahilab-story-reader__nav-btn:focus-visible {
	background:
		linear-gradient(180deg, rgba(255, 174, 226, 0.36), rgba(255, 108, 195, 0.14)),
		linear-gradient(180deg, rgba(21, 14, 34, 0.86), rgba(21, 14, 34, 0.62));
	border-color: rgba(255, 124, 215, 0.95);
	box-shadow:
		0 10px 24px rgba(22, 8, 28, 0.42),
		0 0 0 1px rgba(255, 130, 220, 0.24),
		inset 0 1px 0 rgba(255, 212, 242, 0.44);
	color: #ffffff;
}

.imahilab-story-reader .imahilab-story-reader__toolbar-btn:disabled,
.imahilab-story-reader .imahilab-story-reader__nav-btn:disabled {
	cursor: not-allowed;
	opacity: 0.62;
}

.imahilab-story-reader .imahilab-story-reader__toolbar-btn.is-active {
	background:
		linear-gradient(180deg, rgba(178, 231, 255, 0.42), rgba(97, 185, 238, 0.28)),
		linear-gradient(180deg, rgba(8, 21, 40, 0.84), rgba(8, 21, 40, 0.62));
	border-color: rgba(147, 219, 255, 0.94);
}

.imahilab-story-reader .imahilab-story-reader__position {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.05)),
		linear-gradient(180deg, rgba(8, 16, 30, 0.64), rgba(8, 16, 30, 0.42));
	border: 1px solid rgba(220, 236, 255, 0.34);
	border-radius: 999px;
	padding: 0.24rem 0.82rem;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
