.context-menu-root {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 2147483647;
	width: 0;
	height: 0;
}

.context-menu {
	position: absolute;
	min-width: 200px;
	background: var(--ctx-bg, #1f1f1f);
	color: var(--ctx-fg, #fff);
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.35);
	padding: 8px;
	backdrop-filter: saturate(180%) blur(10px);
	user-select: none;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	opacity: 0;
	transform: translateY(-4px) scale(0.98);
	transition: opacity .12s ease, transform .12s ease;
}

.context-menu.open {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.context-menu.light {
	--ctx-bg: #fff;
	--ctx-fg: #111;
	--ctx-sep: #e9ecef;
}

.context-menu.dark {
	--ctx-bg: rgba(30,30,30,0.95);
	--ctx-fg: #f8f9fa;
	--ctx-sep: rgba(255,255,255,0.08);
}

.context-menu .ctx-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: 8px;
	cursor: pointer;
	color: inherit;
}

.context-menu .ctx-item[role="menuitemcheckbox"] {
	gap: 8px;
}
.context-menu .ctx-item .ctx-checkbox {
	width: 16px;
	text-align: center;
}

.context-menu .ctx-item:hover {
	background: rgba(255,255,255,0.08);
}

.context-menu .ctx-kbd {
	margin-left: auto;
	opacity: .7;
	font-size: 12px;
	border: 1px solid var(--ctx-sep);
	padding: 2px 6px;
	border-radius: 6px;
}

.context-menu .ctx-sep {
	height: 1px;
	background: var(--ctx-sep);
	margin: 6px 4px;
	border-radius: 1px;
}

.context-menu .ctx-hint {
	text-align: center;
	font-size: 12px;
	opacity: .65;
	padding: 6px 4px 2px 4px;
}

