.assistant-popup,
.assistant-launcher {
	box-sizing: border-box;
}

.assistant-popup {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	width: min(94vw, 390px);
	background: #1d3931;
	border: 1px solid rgba(184, 237, 207, 0.28);
	border-radius: 22px;
	box-shadow: 0 24px 80px rgba(8, 24, 19, 0.3), 0 0 0 8px rgba(184, 237, 207, 0.04);
	padding: 26px;
	opacity: 0;
	transform: translateY(16px) scale(0.97);
	transition: opacity 220ms ease, transform 220ms ease;
	z-index: 9999;
	font-family: Inter, system-ui, sans-serif;
	color: #f6f8f2;
	overflow: hidden;
}

.assistant-popup::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 5px;
	height: 100%;
	background: #b8edcf;
}

.assistant-popup.assistant-popup--visible {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.assistant-popup__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid rgba(184, 237, 207, 0.28);
	background: rgba(184, 237, 207, 0.1);
	color: #f6f8f2;
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
	display: grid;
	place-items: center;
	transition: background-color 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.assistant-popup__close:hover,
.assistant-popup__close:focus {
	background: rgba(184, 237, 207, 0.24);
	border-color: rgba(184, 237, 207, 0.6);
	transform: rotate(90deg);
}

.assistant-popup__header {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 22px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(184, 237, 207, 0.2);
}

.assistant-popup__avatar {
	width: 54px;
	height: 54px;
	flex-shrink: 0;
	border-radius: 16px;
	background: #b8edcf;
	display: grid;
	place-items: center;
	font-size: 1.3rem;
	box-shadow: 0 8px 20px rgba(184, 237, 207, 0.14);
}

.assistant-popup__name {
	margin: 0;
	font-size: 1.08rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #f6f8f2;
}

.assistant-popup__subtitle {
	margin: 4px 0 0;
	font-size: 0.95rem;
	color: rgba(246, 248, 242, 0.66);
}

.assistant-popup__greeting {
	margin: 0 0 20px;
	font-size: 1rem;
	line-height: 1.55;
	font-weight: 600;
	color: #f6f8f2;
}

.assistant-popup__actions {
	display: grid;
	gap: 9px;
}

.assistant-popup__action {
	width: 100%;
	min-height: 50px;
	padding: 0.75rem 1rem;
	border: 1px solid rgba(184, 237, 207, 0.22);
	border-radius: 11px;
	background: rgba(246, 248, 242, 0.07);
	color: #ffffff;
	font-size: 0.92rem;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
	transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.assistant-popup__action:hover,
.assistant-popup__action:focus-visible {
	background: #b8edcf;
	border-color: #b8edcf;
	color: #1d3931;
	transform: translateX(4px);
	box-shadow: 0 10px 22px rgba(184, 237, 207, 0.16);
	outline: none;
}

.assistant-launcher {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	border: 1px solid rgba(184, 237, 207, 0.65);
	background: #1d3931;
	color: #ffffff;
	box-shadow: 0 16px 40px rgba(8, 24, 19, 0.28);
	cursor: pointer;
	display: grid;
	place-items: center;
	font-size: 1.35rem;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
	z-index: 9998;
}

.assistant-launcher:hover,
.assistant-launcher:focus-visible {
	background: #b8edcf;
	border-color: #b8edcf;
	color: #1d3931;
	transform: translateY(-4px) scale(1.04);
	box-shadow: 0 18px 36px rgba(184, 237, 207, 0.2);
	outline: none;
}

.assistant-launcher__icon {
	display: block;
}

@media (max-width: 500px) {
	.assistant-popup {
		bottom: 1rem;
		right: 1rem;
		left: 1rem;
		width: auto;
		max-width: calc(100vw - 2rem);
		padding: 22px;
	}

	.assistant-launcher {
		right: 1rem;
		bottom: 6.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.assistant-popup,
	.assistant-popup__close,
	.assistant-popup__action,
	.assistant-launcher {
		transition: none;
	}
}
