/**
 * ADAM BOT public chat interface.
 */

.adam-bot {
	--adam-accent: #16a36a;
	--adam-accent-strong: #087a50;
	--adam-accent-soft: #e8f8f1;
	--adam-ink: #15251f;
	--adam-ink-muted: #62736c;
	--adam-surface: #ffffff;
	--adam-surface-soft: #f4f8f6;
	--adam-surface-raised: #ffffff;
	--adam-border: #dce7e2;
	--adam-user-bubble: #116f50;
	--adam-user-text: #ffffff;
	--adam-bot-bubble: #ffffff;
	--adam-bot-text: #20312a;
	--adam-danger: #df5d62;
	--adam-focus: #2d83ff;
	--adam-shadow-sm: 0 8px 24px rgba(18, 45, 35, 0.16);
	--adam-shadow-lg: 0 26px 70px rgba(13, 35, 27, 0.24), 0 5px 18px rgba(13, 35, 27, 0.1);
	--adam-space-1: 4px;
	--adam-space-2: 8px;
	--adam-space-3: 12px;
	--adam-space-4: 16px;
	--adam-space-5: 20px;
	--adam-space-6: 24px;
	--adam-radius-sm: 10px;
	--adam-radius-md: 16px;
	--adam-radius-lg: 24px;
	--adam-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	pointer-events: none;
	font-family: var(--adam-font);
	font-size: 16px;
	line-height: 1.5;
	color: var(--adam-ink);
	-webkit-font-smoothing: antialiased;
	isolation: isolate;
}

.adam-bot *,
.adam-bot *::before,
.adam-bot *::after {
	box-sizing: border-box;
}

.adam-bot button,
.adam-bot textarea {
	font: inherit;
	letter-spacing: normal;
	text-transform: none;
}

.adam-bot button {
	margin: 0;
	border: 0;
	-webkit-appearance: none;
	appearance: none;
	line-height: normal;
	text-decoration: none;
}

.adam-bot__sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.adam-bot__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(7, 19, 15, 0.48);
	opacity: 0;
	pointer-events: none;
	transition: opacity 220ms ease;
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}

.adam-bot__launcher {
	position: fixed;
	left: max(20px, env(safe-area-inset-left));
	bottom: max(20px, env(safe-area-inset-bottom));
	display: grid;
	width: 64px;
	height: 64px;
	padding: 0;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, 0.34) !important;
	border-radius: 999px;
	background: linear-gradient(145deg, #163c30 0%, #0c8056 52%, #17ae72 100%);
	box-shadow: var(--adam-shadow-sm), inset 0 1px 1px rgba(255, 255, 255, 0.24);
	cursor: pointer;
	pointer-events: auto;
	opacity: 0;
	transform: translate3d(0, 18px, 0) scale(0.94);
	transition: opacity 440ms ease, transform 440ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 180ms ease;
	will-change: transform, opacity;
}

.adam-bot.is-ready .adam-bot__launcher {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

.adam-bot__launcher::before {
	position: absolute;
	inset: -1px;
	content: "";
	border: 2px solid rgba(22, 163, 106, 0.48);
	border-radius: inherit;
	opacity: 0;
	pointer-events: none;
}

.adam-bot.is-greeting .adam-bot__launcher::before {
	animation: adam-bot-greeting 1.6s ease-out 700ms 2;
}

.adam-bot__launcher:hover {
	box-shadow: 0 12px 32px rgba(7, 77, 51, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.3);
	transform: translate3d(0, -3px, 0) scale(1.035);
}

.adam-bot__launcher:active {
	transform: translate3d(0, 0, 0) scale(0.97);
}

.adam-bot__launcher:focus-visible,
.adam-bot__close:focus-visible,
.adam-bot__header-home:focus-visible,
.adam-bot__conversation-toolbar button:focus-visible,
.adam-bot__topic-buttons button:focus-visible,
.adam-bot__action-card:focus-visible,
.adam-bot__chip:focus-visible,
.adam-bot__page-link:focus-visible,
.adam-bot__send:focus-visible,
.adam-bot__input:focus-visible {
	outline: 3px solid var(--adam-focus) !important;
	outline-offset: 3px;
}

.adam-bot__brand {
	position: relative;
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient(145deg, #edfff7 0%, #bdebd7 100%);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.74);
}

.adam-bot__brand--launcher {
	width: 47px;
	height: 47px;
}

.adam-bot__brand--header {
	width: 46px;
	height: 46px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.62), 0 5px 16px rgba(0, 34, 22, 0.24);
}

.adam-bot__brand-mark {
	color: #075f40;
	font-size: 25px;
	font-weight: 850;
	line-height: 1;
	letter-spacing: -0.08em;
	transform: translateX(-1px);
}

.adam-bot__brand-spark {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 6px;
	height: 6px;
	border: 2px solid #075f40;
	border-radius: 50%;
	background: #d7fff0;
}

.adam-bot__notification {
	position: absolute;
	top: 2px;
	right: 2px;
	width: 14px;
	height: 14px;
	border: 3px solid #ffffff;
	border-radius: 50%;
	background: var(--adam-danger);
	box-shadow: 0 2px 6px rgba(116, 18, 23, 0.25);
	transition: opacity 180ms ease, transform 180ms ease;
}

.adam-bot.has-interacted .adam-bot__notification {
	opacity: 0;
	transform: scale(0.4);
}

.adam-bot__panel {
	position: fixed;
	left: max(20px, env(safe-area-inset-left));
	bottom: max(100px, calc(env(safe-area-inset-bottom) + 84px));
	display: flex;
	width: min(420px, calc(100vw - 40px));
	height: min(720px, calc(100vh - 124px));
	height: min(720px, calc(100dvh - 124px));
	min-height: 430px;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(220, 231, 226, 0.94);
	border-radius: var(--adam-radius-lg);
	background: var(--adam-surface);
	box-shadow: var(--adam-shadow-lg);
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transform: translate3d(0, 22px, 0) scale(0.975);
	transform-origin: bottom left;
	transition: opacity 220ms ease, transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0s linear 280ms;
	will-change: transform, opacity;
}

.adam-bot.is-open .adam-bot__panel {
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
	transform: translate3d(0, 0, 0) scale(1);
	transition-delay: 0s;
}

.adam-bot__header {
	position: relative;
	display: flex;
	min-height: 100px;
	padding: 18px 16px 17px 18px;
	align-items: center;
	gap: var(--adam-space-3);
	color: #ffffff;
	background:
		radial-gradient(circle at 15% -25%, rgba(83, 220, 157, 0.58), transparent 45%),
		linear-gradient(135deg, #12382c 0%, #0a6748 62%, #0b7b53 100%);
}

.adam-bot__header::after {
	position: absolute;
	right: -34px;
	bottom: -46px;
	width: 130px;
	height: 100px;
	content: "";
	border: 20px solid rgba(255, 255, 255, 0.045);
	border-radius: 50%;
	pointer-events: none;
}

.adam-bot__heading {
	position: relative;
	z-index: 1;
	min-width: 0;
	flex: 1;
}

.adam-bot__heading h2,
.adam-bot__heading p,
.adam-bot__presence {
	margin: 0;
}

.adam-bot__heading h2 {
	color: #ffffff;
	font-size: 17px;
	font-weight: 750;
	line-height: 1.25;
	letter-spacing: 0.02em;
}

.adam-bot__heading h2 span {
	display: inline-block;
	margin-right: 2px;
	font-size: 16px;
}

.adam-bot__heading p {
	margin-top: 2px;
	color: rgba(255, 255, 255, 0.76);
	font-size: 12.5px;
	line-height: 1.35;
}

.adam-bot__presence {
	display: flex;
	margin-bottom: 4px;
	align-items: center;
	gap: 6px;
	color: #d9ffed;
	font-size: 10px;
	font-weight: 750;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.adam-bot__online-dot {
	display: block;
	width: 7px;
	height: 7px;
	border: 1px solid rgba(255, 255, 255, 0.65);
	border-radius: 50%;
	background: #65f0ac;
	box-shadow: 0 0 0 3px rgba(101, 240, 172, 0.13);
}

.adam-bot__header-actions {
	position: relative;
	z-index: 2;
	display: flex;
	flex: 0 0 auto;
	gap: 6px;
}

.adam-bot__close,
.adam-bot__header-home {
	position: relative;
	display: grid;
	width: 44px;
	height: 44px;
	padding: 0;
	flex: 0 0 auto;
	place-items: center;
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.88);
	background: rgba(255, 255, 255, 0.1);
	cursor: pointer;
	transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}

.adam-bot__close:hover,
.adam-bot__header-home:hover {
	color: #ffffff;
	background: rgba(255, 255, 255, 0.19);
	transform: translateY(-1px);
}

.adam-bot__close:hover {
	transform: rotate(4deg);
}

.adam-bot__close svg,
.adam-bot__header-home svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.9;
}

.adam-bot__conversation-toolbar {
	display: flex;
	min-height: 45px;
	padding: 5px 12px;
	align-items: center;
	gap: 6px;
	border-bottom: 1px solid var(--adam-border);
	background: var(--adam-surface);
}

.adam-bot__conversation-toolbar button {
	display: inline-flex;
	min-height: 36px;
	padding: 6px 10px;
	align-items: center;
	gap: 5px;
	border: 0 !important;
	border-radius: 9px;
	color: var(--adam-ink-muted);
	background: transparent;
	cursor: pointer;
	font-size: 11.5px !important;
	font-weight: 700;
}

.adam-bot__conversation-toolbar button:hover {
	color: var(--adam-accent-strong);
	background: var(--adam-accent-soft);
}

.adam-bot__conversation {
	position: relative;
	flex: 1;
	overflow-x: hidden;
	overflow-y: auto;
	padding: var(--adam-space-5) var(--adam-space-4) var(--adam-space-6);
	background:
		radial-gradient(circle at 100% 0, rgba(22, 163, 106, 0.06), transparent 35%),
		var(--adam-surface-soft);
	overscroll-behavior: contain;
	scrollbar-color: rgba(98, 115, 108, 0.35) transparent;
	scrollbar-width: thin;
}

.adam-bot [hidden] {
	display: none !important;
}

.adam-bot__messages {
	width: 100%;
}

.adam-bot__guided-stage {
	max-width: 620px;
	margin: 0 auto;
}

.adam-bot__guided-heading {
	display: flex;
	margin: 0 0 10px;
	align-items: center;
	gap: 10px;
}

.adam-bot__guided-heading h3 {
	margin: 0;
	color: var(--adam-ink);
	font-size: 20px;
	line-height: 1.25;
}

.adam-bot__guided-icon,
.adam-bot__guided-choice-icon {
	flex: 0 0 auto;
	font-size: 25px;
	line-height: 1;
}

.adam-bot__guided-intro,
.adam-bot__guided-stage > p {
	margin: 0 0 18px;
	color: var(--adam-ink-muted);
	font-size: 14px;
	line-height: 1.6;
}

.adam-bot__guided-direct-answer {
	margin: 0 0 18px;
	padding: 15px 16px;
	border-left: 4px solid var(--adam-accent);
	border-radius: 10px;
	color: var(--adam-ink);
	background: var(--adam-surface-raised);
	box-shadow: 0 4px 14px rgba(17, 55, 40, .06);
	font-size: 15px;
	font-weight: 750;
	line-height: 1.5;
}

.adam-bot__guided-choices,
.adam-bot__guided-actions {
	display: grid;
	margin-top: 22px;
	gap: 9px;
}

.adam-bot__guided-choices h4,
.adam-bot__guided-actions h4 {
	margin: 0 0 2px;
	color: var(--adam-ink-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.adam-bot__guided-choice,
.adam-bot__guided-action {
	display: flex;
	width: 100%;
	min-height: 52px;
	padding: 12px 14px;
	align-items: center;
	gap: 10px;
	border: 1px solid rgba(8, 122, 80, .22) !important;
	border-radius: 13px;
	color: var(--adam-ink);
	background: var(--adam-surface-raised);
	box-shadow: 0 3px 10px rgba(17, 55, 40, .045);
	cursor: pointer;
	font-size: 13px !important;
	font-weight: 700;
	line-height: 1.3;
	text-align: left;
	text-decoration: none;
	transition: border-color 160ms ease, background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.adam-bot__guided-choice:hover,
.adam-bot__guided-action:hover {
	border-color: rgba(8, 122, 80, .5) !important;
	background: var(--adam-accent-soft);
	box-shadow: 0 6px 15px rgba(17, 55, 40, .08);
	transform: translateY(-1px);
}

.adam-bot__guided-choice > span:nth-child(2) { flex: 1; }
.adam-bot__guided-arrow { margin-left: auto; color: var(--adam-accent-strong); font-size: 18px; }
.adam-bot__guided-action { justify-content: center; min-height: 45px; text-align: center; }
.adam-bot__guided-action--primary { color: #fff; background: linear-gradient(145deg, var(--adam-user-bubble), #0a8358); }
.adam-bot__guided-loading,
.adam-bot__guided-error,
.adam-bot__guided-note { padding: 14px; border-radius: 12px; background: var(--adam-surface-raised); }
.adam-bot__guided-loading { color: var(--adam-ink-muted); }
.adam-bot__guided-error { color: #9c2f2f; background: #fff1f1; }

.adam-bot__conversation::-webkit-scrollbar {
	width: 6px;
}

.adam-bot__conversation::-webkit-scrollbar-thumb {
	border-radius: 99px;
	background: rgba(98, 115, 108, 0.32);
}

.adam-bot__message {
	display: flex;
	margin-top: var(--adam-space-4);
	align-items: flex-end;
	gap: var(--adam-space-2);
	animation: adam-bot-message-in 220ms ease both;
}

.adam-bot__message:first-child {
	margin-top: 0;
}

.adam-bot__message--user {
	justify-content: flex-end;
}

.adam-bot__avatar {
	display: grid;
	width: 28px;
	height: 28px;
	margin-bottom: 2px;
	flex: 0 0 auto;
	place-items: center;
	border: 1px solid rgba(7, 122, 80, 0.13);
	border-radius: 50%;
	color: #08754e;
	background: #dff7ec;
	font-size: 13px;
	font-weight: 850;
}

.adam-bot__message-content {
	width: auto;
	max-width: calc(100% - 36px);
	min-width: 0;
}

.adam-bot__message--user .adam-bot__message-content {
	max-width: 82%;
}

.adam-bot__bubble {
	padding: 11px 14px;
	border-radius: 5px var(--adam-radius-md) var(--adam-radius-md) var(--adam-radius-md);
	color: var(--adam-bot-text);
	background: var(--adam-bot-bubble);
	box-shadow: 0 2px 10px rgba(17, 55, 40, 0.07);
	font-size: 14px;
	line-height: 1.52;
	overflow-wrap: anywhere;
	white-space: normal;
}

.adam-bot__message--user .adam-bot__bubble {
	border-radius: var(--adam-radius-md) var(--adam-radius-md) 5px var(--adam-radius-md);
	color: var(--adam-user-text);
	background: linear-gradient(145deg, var(--adam-user-bubble), #0a8358);
	box-shadow: 0 5px 16px rgba(5, 95, 62, 0.16);
	white-space: pre-wrap;
}

.adam-bot__welcome {
	position: relative;
	margin-bottom: var(--adam-space-5);
	padding: 17px 17px 16px;
	border: 1px solid var(--adam-border);
	border-radius: 18px;
	background: var(--adam-surface-raised);
	box-shadow: 0 7px 22px rgba(17, 55, 40, 0.07);
	animation: adam-bot-message-in 240ms ease both;
}

.adam-bot__welcome h3,
.adam-bot__welcome p {
	margin: 0 0 10px;
}

.adam-bot__welcome h3 {
	color: var(--adam-ink);
	font-size: 18px;
	line-height: 1.25;
}

.adam-bot__welcome-icon {
	float: right;
	margin: -3px 0 6px 10px;
	font-size: 25px;
}

.adam-bot__welcome p:last-child {
	margin-bottom: 0;
}

.adam-bot__welcome ul {
	display: grid;
	margin: -2px 0 12px;
	padding: 0;
	grid-template-columns: 1fr 1fr;
	gap: 5px 14px;
	list-style: none;
}

.adam-bot__welcome li {
	position: relative;
	margin: 0;
	padding-left: 13px;
}

.adam-bot__welcome li::before {
	position: absolute;
	top: 8px;
	left: 1px;
	width: 5px;
	height: 5px;
	content: "";
	border-radius: 50%;
	background: var(--adam-accent);
}

.adam-bot__quick-actions {
	margin: 0 0 var(--adam-space-5);
	animation: adam-bot-message-in 280ms 60ms ease both;
}

.adam-bot__quick-actions h3 {
	margin: 0 0 9px;
	color: var(--adam-ink-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.adam-bot__action-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.adam-bot__action-card {
	display: grid;
	min-width: 0;
	min-height: 58px;
	padding: 10px 9px 10px 11px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	border: 1px solid rgba(8, 122, 80, 0.16) !important;
	border-radius: 14px;
	color: var(--adam-ink);
	background: var(--adam-surface-raised);
	box-shadow: 0 3px 10px rgba(17, 55, 40, 0.045);
	cursor: pointer;
	font-size: 12.5px !important;
	font-weight: 680;
	line-height: 1.25;
	text-align: left;
	transition: border-color 160ms ease, background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.adam-bot__action-card:hover {
	border-color: rgba(8, 122, 80, 0.42) !important;
	background: var(--adam-accent-soft);
	box-shadow: 0 6px 15px rgba(17, 55, 40, 0.08);
	transform: translateY(-2px);
}

.adam-bot__action-card svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
	opacity: 0.55;
}

.adam-bot__action-icon {
	font-size: 18px;
	line-height: 1;
}

.adam-bot__topics {
	margin: var(--adam-space-5) 0 0;
	padding-top: var(--adam-space-4);
	border-top: 1px solid var(--adam-border);
}

.adam-bot__topics h3 {
	margin: 0 0 9px;
	color: var(--adam-ink-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.adam-bot__topic-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.adam-bot__topic-buttons button {
	min-height: 44px;
	padding: 8px 11px;
	border: 1px solid var(--adam-border) !important;
	border-radius: 11px;
	color: var(--adam-ink);
	background: var(--adam-surface-raised);
	cursor: pointer;
	font-size: 12px !important;
	font-weight: 680;
	touch-action: manipulation;
}

.adam-bot__topic-buttons button:hover {
	border-color: rgba(8, 122, 80, 0.42) !important;
	color: var(--adam-accent-strong);
	background: var(--adam-accent-soft);
}

.adam-bot__bubble > :first-child {
	margin-top: 0;
}

.adam-bot__bubble > :last-child {
	margin-bottom: 0;
}

.adam-bot__bubble p,
.adam-bot__bubble ul,
.adam-bot__bubble ol,
.adam-bot__bubble h3,
.adam-bot__bubble h4,
.adam-bot__bubble h5,
.adam-bot__table-wrap {
	margin: 0 0 10px;
}

.adam-bot__bubble h3,
.adam-bot__bubble h4,
.adam-bot__bubble h5 {
	color: inherit;
	font-size: 15px;
	font-weight: 780;
	line-height: 1.3;
}

.adam-bot__bubble ul,
.adam-bot__bubble ol {
	padding-left: 21px;
}

.adam-bot__bubble li + li {
	margin-top: 4px;
}

.adam-bot__bubble a {
	color: var(--adam-accent-strong);
	font-weight: 700;
	text-underline-offset: 2px;
}

.adam-bot__bubble code {
	padding: 1px 4px;
	border-radius: 5px;
	background: var(--adam-surface-soft);
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: 0.9em;
}

.adam-bot__callout {
	margin: 0 0 10px;
	padding: 9px 10px;
	border: 1px solid var(--adam-border);
	border-left-width: 4px;
	border-radius: 8px;
	background: var(--adam-surface-soft);
}

.adam-bot__callout--warning {
	border-left-color: #dba617;
	background: #fcf9e8;
}

.adam-bot__callout--information {
	border-left-color: #2d83ff;
	background: #eef6ff;
}

.adam-bot__callout--success {
	border-left-color: var(--adam-accent);
	background: var(--adam-accent-soft);
}

.adam-bot__table-wrap {
	max-width: 100%;
	overflow: hidden;
	border: 1px solid var(--adam-border);
	border-radius: 9px;
}

.adam-bot__table-wrap table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 11.5px;
}

.adam-bot__table-wrap th,
.adam-bot__table-wrap td {
	padding: 6px;
	border-right: 1px solid var(--adam-border);
	border-bottom: 1px solid var(--adam-border);
	overflow-wrap: anywhere;
	text-align: left;
	vertical-align: top;
}

.adam-bot__table-wrap th {
	background: var(--adam-accent-soft);
	font-weight: 750;
}

.adam-bot__table-wrap th:last-child,
.adam-bot__table-wrap td:last-child {
	border-right: 0;
}

.adam-bot__table-wrap tr:last-child td {
	border-bottom: 0;
}

.adam-bot__related-pages,
.adam-bot__knowledge-cards,
.adam-bot__follow-ups {
	margin-top: 10px;
}

.adam-bot__meta-title {
	margin: 0 0 7px;
	color: var(--adam-ink-muted);
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

.adam-bot__page-card {
	display: flex;
	min-width: 0;
	padding: 10px 11px;
	align-items: center;
	justify-content: space-between;
	gap: 9px;
	border: 1px solid var(--adam-border);
	border-radius: 12px;
	background: var(--adam-surface-raised);
	box-shadow: 0 2px 8px rgba(17, 55, 40, 0.04);
	font-size: 12px;
}

.adam-bot__page-card + .adam-bot__page-card {
	margin-top: 6px;
}

.adam-bot__page-card > span {
	min-width: 0;
	overflow-wrap: anywhere;
	font-weight: 650;
}

.adam-bot__resource-link {
	display: block;
	margin-top: 5px;
	color: var(--adam-accent-strong);
	font-size: 12px;
	font-weight: 750;
	text-underline-offset: 2px;
}

.adam-bot__knowledge-card {
	padding: 12px;
	border: 1px solid var(--adam-border);
	border-radius: 14px;
	background: var(--adam-surface-raised);
	box-shadow: 0 2px 8px rgba(17, 55, 40, 0.04);
	overflow-wrap: anywhere;
}

.adam-bot__knowledge-card-image {
	display: block;
	width: calc(100% + 24px);
	max-height: 160px;
	margin: -12px -12px 11px;
	border-radius: 14px 14px 0 0;
	object-fit: cover;
}

.adam-bot__knowledge-card + .adam-bot__knowledge-card {
	margin-top: 7px;
}

.adam-bot__knowledge-card h4,
.adam-bot__knowledge-card p {
	margin: 0 0 7px;
}

.adam-bot__knowledge-card h4 {
	font-size: 13px;
}

.adam-bot__knowledge-card p,
.adam-bot__knowledge-card-meta {
	color: var(--adam-ink-muted);
	font-size: 12px;
	line-height: 1.45;
}

.adam-bot__knowledge-card-meta {
	margin: 0 0 9px;
	padding-left: 18px;
}

.adam-bot__knowledge-card .adam-bot__page-link {
	display: inline-block;
	margin: 3px 5px 0 0;
}

.adam-bot__page-link {
	min-height: 44px;
	padding: 8px 10px;
	flex: 0 0 auto;
	border-radius: 10px;
	color: #ffffff;
	background: var(--adam-accent-strong);
	font-size: 11px;
	font-weight: 750;
	line-height: 20px;
	text-decoration: none;
	touch-action: manipulation;
}

.adam-bot__page-link--secondary {
	color: var(--adam-accent-strong);
	background: var(--adam-accent-soft);
}

.adam-bot__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.adam-bot__debug {
	margin-top: 10px;
	padding: 10px 12px;
	border: 1px dashed var(--adam-border);
	border-radius: 10px;
	color: var(--adam-ink-muted);
	background: var(--adam-surface-soft);
	font-size: 12px;
}

.adam-bot__debug summary {
	cursor: pointer;
	font-weight: 700;
}

.adam-bot__debug dl {
	display: grid;
	grid-template-columns: minmax(100px, auto) 1fr;
	gap: 4px 10px;
	margin: 9px 0 0;
}

.adam-bot__debug dt { font-weight: 700; }
.adam-bot__debug dd { margin: 0; overflow-wrap: anywhere; }

.adam-bot__chip {
	min-height: 44px;
	padding: 9px 12px;
	border: 1px solid rgba(8, 122, 80, 0.2) !important;
	border-radius: 999px;
	color: var(--adam-accent-strong);
	background: var(--adam-surface-raised);
	box-shadow: 0 1px 4px rgba(17, 55, 40, 0.035);
	cursor: pointer;
	font-size: 12px !important;
	font-weight: 650;
	line-height: 1.25;
	text-align: left;
	transition: color 150ms ease, background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.adam-bot__chip:hover {
	border-color: rgba(8, 122, 80, 0.45) !important;
	color: #07583c;
	background: var(--adam-accent-soft);
	transform: translateY(-1px);
}

.adam-bot__typing-bubble {
	display: flex;
	min-width: 70px;
	align-items: center;
	gap: 8px;
}

.adam-bot__typing-dots {
	display: flex;
	align-items: center;
	gap: 3px;
}

.adam-bot__typing-dots span {
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--adam-accent);
	animation: adam-bot-typing 1.1s ease-in-out infinite;
}

.adam-bot__typing-dots span:nth-child(2) {
	animation-delay: 120ms;
}

.adam-bot__typing-dots span:nth-child(3) {
	animation-delay: 240ms;
}

.adam-bot__composer {
	position: relative;
	margin: 0;
	padding: 13px 14px max(14px, env(safe-area-inset-bottom));
	border-top: 1px solid var(--adam-border);
	background: var(--adam-surface);
}

.adam-bot[data-adam-guided] .adam-bot__conversation-toolbar button:disabled {
	opacity: .4;
	cursor: default;
}

.adam-bot__input-wrap {
	display: flex;
	padding: 5px 5px 5px 13px;
	align-items: flex-end;
	gap: var(--adam-space-2);
	border: 1px solid var(--adam-border);
	border-radius: 18px;
	background: var(--adam-surface-soft);
	transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.adam-bot__input-wrap:focus-within {
	border-color: rgba(22, 163, 106, 0.62);
	background: var(--adam-surface-raised);
	box-shadow: 0 0 0 3px rgba(22, 163, 106, 0.1);
}

.adam-bot__input {
	width: 100%;
	height: 35px;
	max-height: 131px;
	min-height: 35px;
	padding: 7px 0 6px;
	resize: none;
	overflow-y: auto;
	border: 0 !important;
	border-radius: 0;
	outline: 0 !important;
	color: var(--adam-ink);
	background: transparent !important;
	box-shadow: none !important;
	font-size: 14px;
	line-height: 22px;
	scrollbar-width: thin;
}

.adam-bot__input::placeholder {
	color: var(--adam-ink-muted);
	opacity: 0.82;
}

.adam-bot__input:disabled {
	cursor: wait;
	opacity: 0.62;
}

.adam-bot__send {
	display: grid;
	width: 44px;
	height: 44px;
	padding: 0;
	flex: 0 0 auto;
	place-items: center;
	border-radius: 13px;
	color: #ffffff;
	background: linear-gradient(145deg, #119263, var(--adam-accent-strong));
	box-shadow: 0 4px 11px rgba(8, 122, 80, 0.24);
	cursor: pointer;
	transition: opacity 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

.adam-bot__send:not(:disabled):hover {
	box-shadow: 0 6px 15px rgba(8, 122, 80, 0.3);
	transform: translateY(-1px);
}

.adam-bot__send:disabled {
	box-shadow: none;
	cursor: not-allowed;
	opacity: 0.4;
}

.adam-bot__send svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.75;
}

@keyframes adam-bot-greeting {
	0% {
		opacity: 0.8;
		transform: scale(1);
	}
	85%,
	100% {
		opacity: 0;
		transform: scale(1.48);
	}
}

@keyframes adam-bot-message-in {
	from {
		opacity: 0;
		transform: translateY(7px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes adam-bot-typing {
	0%,
	60%,
	100% {
		opacity: 0.38;
		transform: translateY(0);
	}
	30% {
		opacity: 1;
		transform: translateY(-3px);
	}
}

@media (prefers-color-scheme: dark) {
	.adam-bot {
		--adam-accent: #48d89b;
		--adam-accent-strong: #75e9b7;
		--adam-accent-soft: #173f31;
		--adam-ink: #edf8f3;
		--adam-ink-muted: #9cafa6;
		--adam-surface: #13231d;
		--adam-surface-soft: #0d1b16;
		--adam-surface-raised: #192c24;
		--adam-border: #2a4037;
		--adam-user-bubble: #087a50;
		--adam-bot-bubble: #1b3027;
		--adam-bot-text: #e7f2ed;
		--adam-shadow-lg: 0 28px 76px rgba(0, 0, 0, 0.5), 0 5px 18px rgba(0, 0, 0, 0.28);
	}

	.adam-bot__panel {
		border-color: rgba(70, 98, 86, 0.72);
	}

	.adam-bot__conversation {
		background:
			radial-gradient(circle at 100% 0, rgba(72, 216, 155, 0.055), transparent 35%),
			var(--adam-surface-soft);
	}

	.adam-bot__avatar {
		border-color: rgba(72, 216, 155, 0.18);
		color: #91f4c9;
		background: #173c2f;
	}

	.adam-bot__chip {
		border-color: rgba(72, 216, 155, 0.26) !important;
		color: #a0f5d0;
	}

	.adam-bot__chip:hover {
		border-color: rgba(72, 216, 155, 0.55) !important;
		color: #c7ffe8;
	}

	.adam-bot__action-card,
	.adam-bot__page-card,
	.adam-bot__knowledge-card {
		border-color: rgba(72, 216, 155, 0.2) !important;
	}

	.adam-bot__callout--warning {
		background: #3a3216;
	}

	.adam-bot__callout--information {
		background: #142d47;
	}
}

@media (max-width: 600px) {
	html.adam-bot-dialog-open,
	html.adam-bot-dialog-open body {
		overflow: hidden;
		overscroll-behavior: none;
	}

	.adam-bot__backdrop {
		pointer-events: none;
	}

	.adam-bot.is-open .adam-bot__backdrop {
		opacity: 1;
		pointer-events: auto;
	}

	.adam-bot__launcher {
		left: max(16px, env(safe-area-inset-left));
		bottom: max(16px, env(safe-area-inset-bottom));
	}

	.adam-bot.is-open .adam-bot__launcher {
		opacity: 0;
		pointer-events: none;
		transform: translate3d(0, 10px, 0) scale(0.84);
	}

	.adam-bot__panel {
		top: 0;
		right: 0;
		bottom: auto;
		left: 0;
		width: 100vw;
		height: var(--adam-viewport-height, 100dvh);
		min-height: 0;
		max-height: none;
		border: 0;
		border-radius: 0;
		transform: translate3d(0, 18px, 0) scale(0.985);
		transform-origin: center bottom;
	}

	.adam-bot__header {
		min-height: 92px;
		padding: max(15px, calc(env(safe-area-inset-top) + 8px)) max(13px, env(safe-area-inset-right)) 15px max(16px, env(safe-area-inset-left));
	}

	.adam-bot__conversation-toolbar {
		padding-right: max(8px, env(safe-area-inset-right));
		padding-left: max(8px, env(safe-area-inset-left));
	}

	.adam-bot__conversation-toolbar button {
		min-height: 44px;
	}

	.adam-bot__conversation {
		width: 100%;
		padding: 18px max(14px, env(safe-area-inset-right)) 22px max(14px, env(safe-area-inset-left));
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.adam-bot__composer {
		padding-right: max(12px, env(safe-area-inset-right));
		padding-left: max(12px, env(safe-area-inset-left));
	}

	.adam-bot__input {
		font-size: 16px;
	}
}

@media (max-width: 360px) {
	.adam-bot__brand--header {
		width: 40px;
		height: 40px;
	}

	.adam-bot__heading h2 {
		font-size: 15px;
	}

	.adam-bot__heading p {
		font-size: 11.5px;
	}

	.adam-bot__header-home,
	.adam-bot__close {
		width: 42px;
		height: 42px;
	}

	.adam-bot__welcome ul {
		grid-template-columns: 1fr;
	}

	.adam-bot__action-grid {
		grid-template-columns: 1fr;
	}

	.adam-bot__topic-buttons {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (forced-colors: active) {
	.adam-bot__panel,
	.adam-bot__welcome,
	.adam-bot__action-card,
	.adam-bot__bubble,
	.adam-bot__page-card,
	.adam-bot__knowledge-card,
	.adam-bot__debug,
	.adam-bot__callout,
	.adam-bot__chip,
	.adam-bot__topic-buttons button,
	.adam-bot__conversation-toolbar button,
	.adam-bot__header-home,
	.adam-bot__close,
	.adam-bot__input-wrap {
		border: 1px solid CanvasText !important;
		box-shadow: none;
	}

	.adam-bot__launcher,
	.adam-bot__send,
	.adam-bot__page-link {
		forced-color-adjust: none;
		background: ButtonText;
		color: ButtonFace;
	}

	.adam-bot__online-dot,
	.adam-bot__typing-dots span {
		background: Highlight;
	}
}

@media (prefers-reduced-motion: reduce) {
	.adam-bot *,
	.adam-bot *::before,
	.adam-bot *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		transition-delay: 0s !important;
	}
}
