html[data-cave-theme="bat-cave"] {
	--bg: #030106;
	--panel: rgba(12, 6, 18, 0.76);
	--panel-strong: rgba(16, 8, 26, 0.92);
	--border: rgba(180, 92, 255, 0.32);
	--text: #f7fcff;
	--muted: #bca7d7;
	--cyan: #9d6bff;
	--red: #ff4d6d;
	--orange: #ff9e86;
	--gold: #ffd86f;
	--purple: #9d6bff;
	--panel-glow-a: rgba(208, 128, 255, 0.14);
	--panel-glow-b: rgba(255, 160, 200, 0.10);
	--button-bg: rgba(208, 128, 255, 0.12);
	--button-bg-hover: rgba(208, 128, 255, 0.2);
	--button-border: rgba(220, 160, 240, 0.34);
	--button-border-hover: rgba(240, 200, 255, 0.84);
	--tag-border: rgba(220, 160, 240, 0.24);
	--tag-bg: rgba(208, 128, 255, 0.08);
	--tag-text: rgba(250, 220, 255, 0.95);
	--mode-card-border: rgba(220, 160, 240, 0.24);
	--mode-card-bg: rgba(255, 255, 255, 0.045);
	--mode-card-border-hover: rgba(240, 200, 255, 0.84);
	--mode-card-bg-hover: rgba(208, 128, 255, 0.1);
	--heading-stroke: rgba(230, 180, 255, 0.82);
	--heading-shadow: 0 0 28px rgba(208, 128, 255, 0.16);
	--legend-chip-border: rgba(240, 200, 255, 0.14);
	--legend-chip-bg: rgba(8, 4, 14, 0.3);
	--legend-chip-text: rgba(245, 220, 255, 0.95);
	--legend-chip-accent: rgba(255, 200, 100, 0.95);
	--surface-card-border: rgba(240, 200, 255, 0.14);
	--surface-card-bg: rgba(255, 255, 255, 0.045);
	--surface-card-text: rgba(245, 225, 255, 0.95);
	--loading-note: rgba(235, 210, 255, 0.95);
	--install-note: rgba(230, 200, 255, 0.95);
	--install-hero-chip-border: rgba(220, 160, 240, 0.24);
	--install-hero-chip-bg: rgba(255, 255, 255, 0.045);
	--install-hero-chip-text: rgba(245, 230, 255, 0.95);
	--install-hero-icon-border: rgba(240, 200, 255, 0.14);
	--install-hero-icon-bg: rgba(12, 8, 20, 0.76);
	--install-hero-icon-share: rgba(230, 210, 255, 0.95);
	--install-hero-icon-add: rgba(255, 200, 100, 0.95);
	--install-hero-arrow: rgba(225, 180, 255, 0.76);
	--install-steps-text: rgba(235, 215, 255, 0.95);
	--install-step-action: rgba(250, 240, 255, 0.95);
	--install-step-inline-border: rgba(240, 200, 255, 0.14);
	--install-step-inline-bg: rgba(255, 255, 255, 0.05);
	--start-overlay-before-bg: radial-gradient(circle at 8% 32%, rgba(148, 84, 255, 0.24), transparent 34%), radial-gradient(circle at 92% 52%, rgba(255, 62, 88, 0.16), transparent 36%), radial-gradient(circle at 54% 98%, rgba(104, 50, 180, 0.12), transparent 38%);
	--start-overlay-after-bg: radial-gradient(circle at 45% 48%, transparent 0%, transparent 42%, rgba(0, 0, 0, 0.42) 70%, rgba(0, 0, 0, 0.88) 100%), linear-gradient(90deg, rgba(150, 78, 255, 0.12), transparent 30%, transparent 70%, rgba(255, 62, 88, 0.08)), repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.016) 0px, rgba(255, 255, 255, 0.016) 1px, transparent 1px, transparent 4px);
	--subtle-install-border: rgba(220, 160, 240, 0.22);
	--subtle-install-bg: rgba(10, 6, 16, 0.62);
	--subtle-install-text: rgba(220, 190, 255, 0.95);
	--subtle-install-hover-border: rgba(240, 200, 255, 0.5);
	--subtle-install-hover-bg: rgba(30, 18, 48, 0.72);
	--start-button-border: rgba(235, 205, 255, 0.54);
	--start-button-bg: linear-gradient(135deg, rgba(240, 210, 255, 0.96), rgba(200, 140, 220, 0.9));
	--start-button-text: #0a0610;
	--start-button-shadow: 0 18px 34px rgba(180, 100, 200, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.55);
	--start-button-hover-border: rgba(250, 230, 255, 0.9);
	--start-button-hover-bg: linear-gradient(135deg, rgba(250, 225, 255, 0.98), rgba(220, 160, 240, 0.94));
	--start-button-hover-shadow: 0 22px 40px rgba(180, 100, 200, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.66);
	--result-card-border: rgba(240,200,255,0.12);
	--result-card-bg: rgba(255,255,255,0.05);
	--result-card-inset: inset 0 1px 0 rgba(255,255,255,0.05);
	--result-card-primary-border: rgba(208,128,255,0.34);
	--result-card-primary-bg: linear-gradient(135deg, rgba(208,128,255,0.12), rgba(255,255,255,0.04));
	--result-icon-bg: rgba(0,0,0,0.22);
	--result-icon-border: rgba(240,200,255,0.12);
	--result-icon-shadow: drop-shadow(0 0 10px rgba(208,128,255,0.34));
	--result-value: rgba(250, 240, 255, 0.95);
	--result-note: rgba(200, 170, 220, 0.95);
	--gameover-overlay-bg: radial-gradient(circle at 18% 18%, rgba(200, 120, 220, 0.16), transparent 28%), radial-gradient(circle at 82% 74%, rgba(220, 160, 240, 0.10), transparent 30%), rgba(8, 4, 14, 0.3);
	--gameover-panel-border: rgba(220, 160, 240, 0.32);
	--gameover-panel-bg: linear-gradient(135deg, rgba(40, 20, 60, 0.16), transparent 30%), linear-gradient(315deg, rgba(220, 160, 240, 0.10), transparent 34%), linear-gradient(180deg, rgba(12, 8, 20, 0.95), rgba(8, 4, 14, 0.92));
	--gameover-panel-shadow: 0 0 0 1px rgba(255,255,255,0.05) inset, 0 0 44px rgba(208, 128, 255, 0.14), 0 0 58px rgba(220, 160, 240, 0.08), 0 30px 90px rgba(0, 0, 0, 0.62);
	--gameover-panel-before-border: rgba(220, 160, 240, 0.18);
	--gameover-panel-before-shadow: inset 0 0 38px rgba(208, 128, 255, 0.08);
	--gameover-panel-after-bg: linear-gradient(90deg, transparent, rgba(208,128,255,0.36), transparent) top left / 100% 1px no-repeat, linear-gradient(90deg, transparent, rgba(220,160,240,0.24), transparent) bottom left / 100% 1px no-repeat;
	--gameover-heading-color: rgba(250, 235, 255, 0.95);
	--gameover-heading-shadow: 0 0 10px rgba(255,255,255,0.72), 0 0 28px rgba(208,128,255,0.42), 0 0 46px rgba(220,160,240,0.18);
	--gameover-reason-border: rgba(220, 160, 240, 0.18);
	--gameover-reason-bg: rgba(8, 4, 14, 0.22);
	--gameover-reason-text: rgba(220, 190, 255, 0.95);
	--gameover-reason-strong: rgba(200, 120, 220, 0.95);
	--gameover-scorebox-border: rgba(208, 128, 255, 0.34);
	--gameover-scorebox-bg: linear-gradient(135deg, rgba(208,128,255,0.15), rgba(255,255,255,0.04)), rgba(10, 6, 16, 0.72);
	--gameover-scorebox-second-border: rgba(220, 160, 240, 0.34);
	--gameover-scorebox-second-bg: linear-gradient(135deg, rgba(220,160,240,0.12), rgba(255,255,255,0.04)), rgba(10, 6, 16, 0.72);
	--gameover-scorebox-third-border: rgba(255, 160, 200, 0.38);
	--gameover-scorebox-third-bg: linear-gradient(135deg, rgba(255,160,200,0.16), rgba(255,255,255,0.04)), rgba(10, 6, 16, 0.72);
	--gameover-scorebox-shadow: inset 0 0 0 1px rgba(255,255,255,0.05), 0 18px 42px rgba(0,0,0,0.26);
	--gameover-scorebox-inner-border: rgba(255,255,255,0.10);
	--gameover-scorebox-label: rgba(200, 150, 220, 0.95);
	--gameover-scorebox-third-label: rgba(220, 160, 220, 0.95);
	--gameover-scorebox-value: rgba(250, 240, 255, 0.95);
	--gameover-scorebox-value-shadow: 0 0 18px rgba(208,128,255,0.42), 0 0 34px rgba(255,255,255,0.18);
	--gameover-scorebox-third-value-shadow: 0 0 18px rgba(220,160,240,0.32), 0 0 34px rgba(255,255,255,0.16);
	--gameover-action-button-border: rgba(220, 160, 240, 0.34);
	--gameover-action-button-bg: linear-gradient(135deg, rgba(208,128,255,0.16), rgba(10,6,16,0.8));
	--gameover-action-button-shadow: inset 0 0 0 1px rgba(255,255,255,0.05), 0 12px 28px rgba(0,0,0,0.22);
	--gameover-retry-border: rgba(240, 200, 255, 0.8);
	--gameover-retry-bg: linear-gradient(135deg, rgba(230, 190, 255, 0.34), rgba(160, 100, 180, 0.84));
	--gameover-retry-shadow: 0 0 28px rgba(208,128,255,0.24), inset 0 0 0 1px rgba(255,255,255,0.08);
	--gameover-action-button-hover-border: rgba(250, 230, 255, 0.76);
	--gameover-action-button-hover-bg: linear-gradient(135deg, rgba(208,128,255,0.26), rgba(220,160,240,0.12));
	--floating-install-border: rgba(220, 160, 240, 0.42);
	--floating-install-bg: linear-gradient(135deg, rgba(208,128,255,0.22), rgba(10,6,16,0.84));
	--floating-install-shadow: 0 0 24px rgba(208,128,255,0.18), 0 14px 34px rgba(0,0,0,0.28);
	--floating-install-icon: rgba(245, 230, 255, 0.95);
	--floating-install-icon-shadow: 0 0 12px rgba(208,128,255,0.32);
	--mode-overlay-shell-border: rgba(220, 160, 240, 0.32);
	--mode-overlay-shell-bg: linear-gradient(135deg, rgba(40, 20, 60, 0.16), transparent 30%), linear-gradient(315deg, rgba(220, 160, 240, 0.10), transparent 34%), linear-gradient(180deg, rgba(12, 8, 20, 0.95), rgba(8, 4, 14, 0.92));
	--mode-overlay-shell-shadow: 0 0 0 1px rgba(255,255,255,0.05) inset, 0 0 44px rgba(208, 128, 255, 0.14), 0 0 58px rgba(220, 160, 240, 0.08), 0 30px 90px rgba(0, 0, 0, 0.62);
	--mode-overlay-shell-inner-border: rgba(220, 160, 240, 0.18);
	--mode-overlay-shell-inner-shadow: inset 0 0 38px rgba(208, 128, 255, 0.08);
	--mode-overlay-shell-scanlines: linear-gradient(90deg, transparent, rgba(208,128,255,0.36), transparent) top left / 100% 1px no-repeat, linear-gradient(90deg, transparent, rgba(220,160,240,0.22), transparent) bottom left / 100% 1px no-repeat;
	--mode-overlay-title: rgba(250, 235, 255, 0.95);
	--mode-overlay-title-shadow: 0 0 10px rgba(255,255,255,0.68), 0 0 24px rgba(208,128,255,0.34), 0 0 36px rgba(220,160,240,0.16);
	--mode-overlay-subtitle-border: rgba(220, 160, 240, 0.18);
	--mode-overlay-subtitle-bg: rgba(8, 4, 14, 0.22);
	--mode-overlay-subtitle-text: rgba(220, 190, 255, 0.95);
	--mode-overlay-card-strong: rgba(250, 240, 255, 0.95);
	--mode-overlay-card-copy: rgba(200, 170, 220, 0.95);
	--mode-overlay-panel-before: linear-gradient(180deg, rgba(208, 128, 255, 0.1), transparent 38%);
	--mode-overlay-panel-after-border: rgba(255, 255, 255, 0.05);
	--mode-overlay-card-border: rgba(240, 200, 255, 0.12);
	--mode-overlay-card-bg: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.025));
	--mode-overlay-card-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
	--mode-overlay-card-inner-border: rgba(255, 255, 255, 0.04);
	--mode-overlay-tag-bg: rgba(208, 128, 255, 0.12);
}

html[data-cave-theme="bat-cave"] #lbIconBtn {
	border-color: rgba(220, 160, 240, 0.34);
	background: rgba(10, 6, 16, 0.76);
	color: rgba(240, 230, 255, 0.95);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

html[data-cave-theme="bat-cave"] #lbIconBtn:hover {
	background: rgba(208, 128, 255, 0.16);
	border-color: rgba(240, 200, 255, 0.8);
}

html[data-cave-theme="bat-cave"] #vignette {
	background:
		radial-gradient(circle at 45% 48%, transparent 0%, transparent 42%, rgba(0, 0, 0, 0.42) 70%, rgba(0, 0, 0, 0.88) 100%),
		linear-gradient(90deg, rgba(150, 78, 255, 0.12), transparent 30%, transparent 70%, rgba(255, 62, 88, 0.08));
	opacity: 0.96;
}

html[data-cave-theme="bat-cave"] #scanlines {
	background:
		repeating-linear-gradient(
			to bottom,
			rgba(255, 255, 255, 0.016) 0px,
			rgba(255, 255, 255, 0.016) 1px,
			transparent 1px,
			transparent 4px
		),
		linear-gradient(180deg, rgba(157, 107, 255, 0.03), transparent 30%, rgba(255, 77, 109, 0.02));
	opacity: 0.22;
}

html[data-cave-theme="bat-cave"] .theme-chip.active {
	border-color: rgba(240, 200, 255, 0.84);
	background: linear-gradient(135deg, rgba(60, 40, 80, 0.94), rgba(10, 6, 16, 0.92));
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(220, 160, 240, 0.2);
}
