.spam-hoihoi-habitat {
	position: absolute;
	top: 0;
	left: 0;
	box-sizing: border-box;
	z-index: 1000;
	overflow: hidden;
	pointer-events: none;
	color: inherit;
	font-family: inherit;
}

.spam-hoihoi-name {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	max-width: 90vw;
	font: inherit;
	font-size: var(--spam-hoihoi-font-size, 1rem);
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
	transform-origin: center;
	will-change: transform;
	user-select: none;
}

.spam-hoihoi-dropping {
	position: absolute;
	display: block;
	background: #191919;
	border: 0;
	border-radius: 50%;
	pointer-events: none;
	transform: translate3d(0, 0, 0) scale(0.3);
	animation: spam-hoihoi-drop 240ms cubic-bezier(.18, .82, .3, 1.25) forwards;
}

@keyframes spam-hoihoi-drop {
	to {
		transform: translate3d(
			var(--spam-hoihoi-drop-x, 0),
			var(--spam-hoihoi-drop-y, 0),
			0
		) scale(1);
	}
}

.spam-hoihoi-dropping.is-eaten {
	animation: spam-hoihoi-eat 180ms linear forwards;
}

@keyframes spam-hoihoi-eat {
	to {
		opacity: 0;
	}
}

@media (max-width: 600px) {
	.spam-hoihoi-name {
		font-size: min(var(--spam-hoihoi-font-size, 1rem), 2.25rem);
	}
}
