/* Theme toggle button */
.theme-toggle {
	position: fixed;
	top: 12px;
	right: 12px;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: var(--card-border, 1px solid rgba(0,0,0,.1));
	background: var(--card-bg-color, #ffffff);
	color: var(--text-color-primary, #18181b);
	box-shadow: var(--shadow, 0 2px 8px rgba(0,0,0,.08));
	cursor: pointer;
	z-index: 1000;
	transition: transform .1s ease-in-out, background .2s ease, color .2s ease, box-shadow .2s ease;
}

.theme-toggle:hover { transform: translateY(-1px); }
.theme-toggle:active { transform: translateY(0); }

.theme-toggle:focus {
	outline: none;
	box-shadow:
		0 0 0 2px color-mix(in srgb, var(--accent-color, #18181b) 25%, transparent),
		var(--shadow, 0 2px 8px rgba(0,0,0,.08));
}

.theme-toggle svg {
	width: 20px;
	height: 20px;
	pointer-events: none;
}

/* High-contrast fallback if CSS variables are missing */
@supports not (color: color-mix(in srgb, #000 10%, #fff)) {
	.theme-toggle:focus {
		box-shadow: 0 0 0 2px rgba(24, 24, 27, 0.25), 0 2px 8px rgba(0,0,0,.08);
	}
}

