.ais-chat {
	border: var(--chakra-space-px) solid var(--chakra-colors-gray-200);
	border-radius: var(--chakra-radii-lg);
}

.ais-chat__body::-webkit-scrollbar {
	width: var(--chakra-space-1);
}
.ais-chat__body::-webkit-scrollbar-thumb {
	background: var(--chakra-colors-gray-200);
	border-radius: var(--chakra-radii-xs);
}

.ais-chat__avatar {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	color: var(--ais-primary, var(--chakra-colors-accent-500));
	border-radius: var(--chakra-radii-full);
}

.ais-chat__avatar--assistant {
	width: var(--chakra-sizes-icon-xl);
	height: var(--chakra-sizes-icon-xl);
	background: rgba(37, 99, 235, 0.1);
}

.ais-chat__avatar--hero {
	width: 48px;
	height: 48px;
	background: rgba(37, 99, 235, 0.1);
}

.ais-chat__messageRow {
	padding: var(--chakra-space-2) var(--chakra-space-5);
}

.ais-chat__message--user {
	display: inline-block;
	max-width: 80%;
	padding: 10px var(--chakra-space-4);
	font-size: var(--chakra-fontSizes-sm);
	line-height: 1.6;
	color: #fff;
	overflow-wrap: anywhere;
	background: var(--ais-primary, var(--chakra-colors-accent-500));
	border-radius: var(--chakra-radii-lg) var(--chakra-radii-lg) var(--chakra-radii-xs) var(--chakra-radii-lg);
}

.ais-chat__message--assistant {
	padding: var(--chakra-space-3) var(--chakra-space-5);
}

.ais-chat__content {
	font-size: var(--chakra-fontSizes-sm);
	line-height: 1.7;
	color: var(--chakra-colors-text-primary);
	overflow-wrap: anywhere;
}
.ais-chat__content > *:last-child {
	margin-bottom: 0;
}
.ais-chat__content p {
	margin: 0 0 var(--chakra-space-2);
}
.ais-chat__content p:last-child {
	margin: 0;
}
.ais-chat__content h4 {
	margin: 0 0 var(--chakra-space-2);
	font-size: var(--chakra-fontSizes-sm);
	font-weight: 700;
	line-height: 1.4;
}
.ais-chat__content blockquote {
	padding-left: var(--chakra-space-3);
	margin: 0 0 var(--chakra-space-2);
	color: var(--chakra-colors-text-secondary);
	border-left: 3px solid rgba(37, 99, 235, 0.18);
}
.ais-chat__content a {
	color: var(--ais-primary, var(--chakra-colors-accent-500));
	text-decoration: underline;
	text-decoration-color: var(--chakra-colors-accent-200);
	text-underline-offset: 2px;
}
.ais-chat__content a:hover {
	text-decoration-color: var(--ais-primary, var(--chakra-colors-accent-500));
}
.ais-chat__content strong {
	font-weight: 600;
}
.ais-chat__content code {
	padding: var(--chakra-space-px) var(--chakra-space-1);
	font-family: var(--chakra-fonts-mono);
	font-size: var(--chakra-fontSizes-xs);
	overflow-wrap: anywhere;
	background: rgba(15, 23, 42, 0.08);
	border-radius: var(--chakra-radii-xs);
}
.ais-chat__content ul,
.ais-chat__content ol {
	padding-inline-start: var(--chakra-space-6);
	margin: var(--chakra-space-2) 0 var(--chakra-space-3);
	list-style-position: outside;
}
.ais-chat__content li {
	padding-left: var(--chakra-space-1);
	margin: 0 0 6px;
}
.ais-chat__content li:last-child {
	margin-bottom: 0;
}
.ais-chat__content li::marker {
	color: var(--chakra-colors-gray-500);
}
.ais-chat__content p + ul,
.ais-chat__content p + ol {
	margin-top: var(--chakra-space-1);
}
.ais-chat__content ul + p,
.ais-chat__content ol + p,
.ais-chat__content blockquote + p,
.ais-chat__content p + blockquote {
	margin-top: var(--chakra-space-3);
}

.ais-chat__newConvo {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	padding: 6px var(--chakra-space-3);
	font-size: var(--chakra-fontSizes-xs);
	font-weight: 500;
	color: var(--chakra-colors-text-muted);
	cursor: pointer;
	background: transparent;
	border: var(--chakra-space-px) solid var(--chakra-colors-gray-200);
	border-radius: var(--chakra-radii-full);
	transition: border-color 0.15s ease, color 0.15s ease;
}
.ais-chat__newConvo:hover {
	color: var(--chakra-colors-text-primary);
	border-color: var(--chakra-colors-gray-300);
}

.ais-chat__suggestion {
	padding: var(--chakra-space-2) var(--chakra-space-4);
	font-size: var(--chakra-fontSizes-sm);
	font-weight: 500;
	line-height: 1.4;
	color: var(--chakra-colors-text-secondary);
	cursor: pointer;
	background: var(--chakra-colors-bg-card);
	border: var(--chakra-space-px) solid var(--chakra-colors-gray-200);
	border-radius: var(--chakra-radii-full);
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.ais-chat__suggestion:hover {
	color: var(--ais-primary, var(--chakra-colors-accent-500));
	background: var(--chakra-colors-accent-50);
	border-color: var(--chakra-colors-accent-200);
}

.ais-chat__inputArea {
	padding: var(--chakra-space-4) var(--chakra-space-5) var(--chakra-space-4);
	border-top: var(--chakra-space-px) solid var(--chakra-colors-gray-200);
}

.ais-chat__inputWrap {
	align-items: center;
	padding: var(--chakra-space-2) var(--chakra-space-2) var(--chakra-space-2) var(--chakra-space-4);
	background: var(--chakra-colors-bg-muted);
	border: var(--chakra-space-px) solid var(--chakra-colors-gray-200);
	border-radius: var(--chakra-radii-lg);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.ais-chat__inputWrap:focus-within {
	border-color: var(--ais-primary, var(--chakra-colors-accent-500));
	box-shadow: 0 0 0 1px var(--ais-primary, var(--chakra-colors-accent-500));
}

.ais-chat__textarea {
	flex: 1;
	padding: 6px 0;
	font-size: var(--chakra-fontSizes-sm);
	line-height: 1.5;
	color: var(--chakra-colors-text-primary);
	resize: none;
	outline: none;
	background: transparent;
	border: 0;
}
.ais-chat__textarea::placeholder {
	color: var(--chakra-colors-gray-400);
}

.ais-chat__sendBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--chakra-sizes-icon-xl);
	height: var(--chakra-sizes-icon-xl);
	color: #fff;
	cursor: pointer;
	background: var(--ais-primary, var(--chakra-colors-accent-500));
	border: 0;
	border-radius: var(--chakra-radii-full);
	transition: opacity 0.15s ease;
}

.ais-chat__sendBtn--disabled {
	cursor: default;
	opacity: 0.3;
}

.ais-chat__sources {
	padding-top: var(--chakra-space-3);
}

.ais-chat__sourcesLabel {
	display: block;
	margin: 0 0 var(--chakra-space-2);
	font-size: var(--chakra-fontSizes-2xs);
	font-weight: 700;
	line-height: 1.3;
	color: var(--chakra-colors-gray-500);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.ais-chat__sourcesList {
	align-items: flex-start;
}

.ais-chat__sourceChip {
	display: inline-flex;
	gap: var(--chakra-space-1);
	align-items: center;
	padding: var(--chakra-space-1) var(--chakra-space-2);
	font-size: var(--chakra-fontSizes-xs);
	line-height: 1.35;
	color: var(--ais-primary, var(--chakra-colors-accent-500));
	overflow-wrap: anywhere;
	white-space: normal;
	text-decoration: none;
	background: rgba(37, 99, 235, 0.06);
	border-radius: var(--chakra-radii-sm);
	transition: background 0.15s ease;
}
.ais-chat__sourceChip:hover {
	text-decoration: none;
	background: rgba(37, 99, 235, 0.12);
}

.ais-chat__img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: var(--chakra-space-2) 0;
	border-radius: var(--chakra-radii-md);
}

.ais-chat__file {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	padding: 6px var(--chakra-space-3);
	margin: var(--chakra-space-1) 0;
	font-size: var(--chakra-fontSizes-sm);
	font-weight: 500;
	color: var(--ais-primary, var(--chakra-colors-accent-500));
	text-decoration: none;
	background: var(--chakra-colors-bg-card);
	border: var(--chakra-space-px) solid var(--chakra-colors-gray-200);
	border-radius: var(--chakra-radii-sm);
	transition: border-color 0.15s ease;
}
.ais-chat__file:hover {
	border-color: var(--ais-primary, var(--chakra-colors-accent-500));
}
.ais-chat__file svg {
	flex-shrink: 0;
	opacity: 0.6;
}

.ais-chat__dots {
	display: inline-flex;
	gap: var(--chakra-space-1);
	align-items: center;
	height: var(--chakra-space-5);
}
.ais-chat__dots i {
	display: block;
	width: 6px;
	height: 6px;
	background: var(--chakra-colors-gray-400);
	border-radius: var(--chakra-radii-full);
	animation: ais-dot 1.2s ease-in-out infinite;
}
.ais-chat__dots i:nth-child(2) {
	animation-delay: 0.15s;
}
.ais-chat__dots i:nth-child(3) {
	animation-delay: 0.3s;
}

@keyframes ais-dot {
	0%, 60%, 100% {
		opacity: 0.25;
		transform: translateY(0);
	}
	30% {
		opacity: 1;
		transform: translateY(-3px);
	}
}
.ais-chat__fadein {
	animation: ais-fadein 0.15s ease;
}

@keyframes ais-fadein {
	from {
		opacity: 0;
		transform: translateY(var(--chakra-space-1));
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@media (width <= 768px) {
	.ais-chat__messageRow {
		padding: var(--chakra-space-2) var(--chakra-space-4);
	}
	.ais-chat__message--assistant {
		padding: var(--chakra-space-3) var(--chakra-space-4);
	}
	.ais-chat__inputArea {
		padding: var(--chakra-space-3) var(--chakra-space-4);
	}
	.ais-chat__message--user {
		max-width: 90%;
	}
	.ais-chat__welcome {
		padding: var(--chakra-space-4);
	}
}
