.ii-tooltip {
	position: fixed;
	display: flex;
	align-items: center;
	max-width: 400px;
	gap: 8px;
	background: rgba(0, 0, 0, 1);
	color: #fff;
	padding: 6px 10px;
	border-radius: var(--ii-radius-md);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.3px;
	opacity: 0;
	pointer-events: none;
	z-index: 9999;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.ii-tooltip > * {
	pointer-events: none;
}

.dark .ii-tooltip {
	background: #f4f4f5;
	color: #09090b;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

.ii-tooltip[data-side='top'] {
	transform-origin: center bottom;
}

.ii-tooltip[data-side='bottom'] {
	transform-origin: center top;
}

.ii-tooltip[data-side='left'] {
	transform-origin: right center;
}

.ii-tooltip[data-side='right'] {
	transform-origin: left center;
}

/* Enter: fade + zoom 95% + 8px slide from the trigger, per side */
.ii-tooltip[data-state='delayed-open'][data-side='top'],
.ii-tooltip[data-state='instant-open'][data-side='top'],
.ii-tooltip[data-state='delayed-open']:not([data-side]),
.ii-tooltip[data-state='instant-open']:not([data-side]) {
	animation: iiTooltipInTop 0.15s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.ii-tooltip[data-state='delayed-open'][data-side='bottom'],
.ii-tooltip[data-state='instant-open'][data-side='bottom'] {
	animation: iiTooltipInBottom 0.15s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.ii-tooltip[data-state='delayed-open'][data-side='left'],
.ii-tooltip[data-state='instant-open'][data-side='left'] {
	animation: iiTooltipInLeft 0.15s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.ii-tooltip[data-state='delayed-open'][data-side='right'],
.ii-tooltip[data-state='instant-open'][data-side='right'] {
	animation: iiTooltipInRight 0.15s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Exit: fade + zoom out, no slide (matches shadcn's tooltip content) */
.ii-tooltip[data-state='closed'] {
	animation: iiTooltipOut 0.15s ease-in forwards;
}

.ii-tooltip::before {
	content: '';
	position: absolute;
	border-width: 6px;
	border-style: solid;
	pointer-events: none;
}

/* --ii-tooltip-arrow-x / -y keep the arrow on the trigger's center after the
   box is clamped to the viewport; they fall back to the middle of the box. */
.ii-tooltip[data-side='bottom']::before {
	top: -10px;
	left: var(--ii-tooltip-arrow-x, 50%);
	transform: translateX(-50%);
	border-color: transparent transparent rgba(0, 0, 0, 1) transparent;
}

.ii-tooltip[data-side='top']::before {
	bottom: -10px;
	left: var(--ii-tooltip-arrow-x, 50%);
	transform: translateX(-50%);
	border-color: rgba(0, 0, 0, 1) transparent transparent transparent;
}

.ii-tooltip[data-side='left']::before {
	right: -10px;
	top: var(--ii-tooltip-arrow-y, 50%);
	transform: translateY(-50%);
	border-color: transparent transparent transparent rgba(0, 0, 0, 1);
}

.ii-tooltip[data-side='right']::before {
	left: -10px;
	top: var(--ii-tooltip-arrow-y, 50%);
	transform: translateY(-50%);
	border-color: transparent rgba(0, 0, 0, 1) transparent transparent;
}

/* Dark theme: arrow colors flipped to match #f4f4f5 background */
.dark .ii-tooltip[data-side='bottom']::before {
	border-color: transparent transparent #f4f4f5 transparent;
}

.dark .ii-tooltip[data-side='top']::before {
	border-color: #f4f4f5 transparent transparent transparent;
}

.dark .ii-tooltip[data-side='left']::before {
	border-color: transparent transparent transparent #f4f4f5;
}

.dark .ii-tooltip[data-side='right']::before {
	border-color: transparent #f4f4f5 transparent transparent;
}

.ii-tooltip .ii-tooltip-text {
	line-height: 1.2;
}

/* Dark theme: kbd key colors adjusted for light tooltip background */
.dark .ii-tooltip .ii-tooltip-key {
	background: rgba(9, 9, 11, 0.08);
	box-shadow: 0 1px 0 rgba(9, 9, 11, 0.1);
	color: rgba(9, 9, 11, 0.5);
}

.dark .ii-tooltip .ii-tooltip-plus {
	color: rgba(9, 9, 11, 0.4);
}

.ii-tooltip-kbd {
	display: contents;
}

.ii-tooltip-kbd:empty {
	display: none;
}

.ii-tooltip-kbd:not(:empty) {
	display: flex;
	align-items: center;
	gap: 0;
}

.ii-tooltip-key {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 17px;
	min-width: 17px;
	padding: 0 4px;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.1);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08);
	/* font-family: 'SFMono-Regular', 'Consolas', 'Liberation Mono', monospace; */
	font-size: 10px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.5);
	line-height: 1;
	letter-spacing: 0;
}

.ii-tooltip-plus {
	font-size: 9px;
	color: rgba(255, 255, 255, 0.35);
	padding: 0 2px;
	line-height: 1;
	user-select: none;
}
