/* AI Support Agent widget styles, forced.
   Every element inside .aisa is reset property by property, then styled explicitly, and every
   declaration carries !important so host CSS cannot leak in. The accent colour is set per bot
   via --aisa-accent; every tint is derived from it with color-mix. */

/* ---------- Reset ---------- */
.aisa, .aisa *, .aisa *::before, .aisa *::after {
	margin: 0 !important; padding: 0 !important; border: 0 !important; outline: 0 !important; box-shadow: none !important;
	background: transparent !important; background-image: none !important;
	color: inherit !important; font-family: inherit !important; font-size: inherit !important; font-weight: inherit !important; font-style: normal !important;
	line-height: inherit !important; letter-spacing: normal !important; text-transform: none !important; text-decoration: none !important;
	text-shadow: none !important; text-indent: 0 !important; text-align: left !important; vertical-align: baseline !important;
	list-style: none !important; float: none !important; clear: none !important;
	width: auto !important; height: auto !important; min-width: 0 !important; min-height: 0 !important; max-width: none !important; max-height: none !important;
	transform: none !important; transition: none !important; animation: none !important; opacity: 1 !important; visibility: visible !important;
	overflow: visible !important; white-space: normal !important; word-break: normal !important;
	appearance: none !important; -webkit-appearance: none !important; border-radius: 0 !important; box-sizing: border-box !important;
	cursor: inherit !important; filter: none !important; backdrop-filter: none !important; clip-path: none !important; pointer-events: auto !important;
}
.aisa, .aisa div, .aisa p, .aisa article, .aisa h2, .aisa h3, .aisa h4, .aisa ul, .aisa ol, .aisa pre, .aisa label, .aisa textarea, .aisa img, .aisa iframe, .aisa video, .aisa blockquote { display: block !important; position: static !important; }
.aisa span, .aisa a, .aisa strong, .aisa em, .aisa code, .aisa br, .aisa i { display: inline !important; position: static !important; }
.aisa li { display: list-item !important; position: static !important; }
.aisa button, .aisa input { display: inline-block !important; position: static !important; }
.aisa table { display: table !important; border-collapse: collapse !important; border-spacing: 0 !important; }
.aisa thead { display: table-header-group !important; }
.aisa tbody { display: table-row-group !important; }
.aisa tr { display: table-row !important; }
.aisa td, .aisa th { display: table-cell !important; }
.aisa [hidden] { display: none !important; }
.aisa strong { font-weight: 700 !important; }
.aisa em { font-style: italic !important; }
.aisa ul { list-style: disc outside !important; padding-left: 20px !important; }
.aisa ol { list-style: decimal outside !important; padding-left: 22px !important; }
.aisa ul > li { list-style: disc outside !important; display: list-item !important; }
.aisa ol > li { list-style: decimal outside !important; display: list-item !important; }
.aisa ul ul > li { list-style: circle outside !important; }
.aisa ol ol > li { list-style: lower-alpha outside !important; }
.aisa li::marker { color: var(--aisa-muted) !important; font-size: 1em !important; }
.aisa ol > li::marker { color: var(--aisa-accent) !important; font-weight: 700 !important; }
.aisa button { cursor: pointer !important; user-select: none !important; -webkit-user-select: none !important; }
.aisa a { cursor: pointer !important; }
.aisa button:disabled { cursor: default !important; }
.aisa input, .aisa textarea { cursor: text !important; }
.aisa input[type="checkbox"] { appearance: auto !important; -webkit-appearance: checkbox !important; width: 16px !important; height: 16px !important; margin: 0 8px 0 0 !important; vertical-align: -3px !important; cursor: pointer !important; accent-color: var(--aisa-accent) !important; }
.aisa svg { display: inline-block !important; width: 20px !important; height: 20px !important; flex: none !important; fill: none !important; stroke: currentColor !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; vertical-align: middle !important; pointer-events: none !important; overflow: visible !important; }
.aisa svg * { stroke: inherit !important; fill: inherit !important; stroke-width: inherit !important; stroke-linecap: inherit !important; stroke-linejoin: inherit !important; }
.aisa ::placeholder { color: var(--aisa-muted) !important; opacity: 1 !important; }
.aisa ::selection { background: var(--aisa-accent) !important; color: #fff !important; }
.aisa ::-webkit-scrollbar { width: 6px !important; height: 6px !important; }
.aisa ::-webkit-scrollbar-thumb { background: rgba(20, 21, 26, .16) !important; border-radius: 6px !important; }
.aisa ::-webkit-scrollbar-track { background: transparent !important; }
.aisa ::-webkit-search-decoration, .aisa ::-webkit-search-cancel-button { -webkit-appearance: none !important; }

/* ---------- Tokens ---------- */
.aisa {
	--aisa-accent: #2b59ff;
	--aisa-deep: color-mix(in srgb, var(--aisa-accent) 72%, #0e0f1a);
	--aisa-tint: color-mix(in srgb, var(--aisa-accent) 9%, #ffffff);
	--aisa-tint-2: color-mix(in srgb, var(--aisa-accent) 16%, #ffffff);
	--aisa-ring: color-mix(in srgb, var(--aisa-accent) 22%, transparent);
	--aisa-ink: #14151a;
	--aisa-muted: #6f7380;
	--aisa-line: #e8e9ee;
	--aisa-surface: #ffffff;
	--aisa-canvas: #f4f5f9;
	--aisa-radius: 26px;
	--aisa-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--aisa-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	position: fixed !important;
	bottom: var(--aisa-oy, 22px) !important;
	z-index: 2147483647 !important;
	font-family: var(--aisa-font) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: var(--aisa-ink) !important;
	-webkit-font-smoothing: antialiased !important;
	direction: ltr !important;
	cursor: auto !important;
}
.aisa--right { right: var(--aisa-ox, 22px) !important; left: auto !important; }
.aisa--left { left: var(--aisa-ox, 22px) !important; right: auto !important; }

.aisa button:focus-visible, .aisa a:focus-visible, .aisa input:focus-visible, .aisa .aisa-form textarea:focus-visible { outline: 2px solid var(--aisa-accent) !important; outline-offset: 2px !important; }
.aisa .aisa-input:focus, .aisa .aisa-input:focus-visible, .aisa .aisa-search input:focus, .aisa .aisa-search input:focus-visible { outline: 0 !important; box-shadow: none !important; border: 0 !important; }

/* ---------- Launcher ---------- */
.aisa .aisa-launcher {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 9px !important;
	height: 58px !important;
	min-width: 58px !important;
	padding: 0 22px 0 18px !important;
	border-radius: 999px !important;
	background: linear-gradient(135deg, var(--aisa-accent), var(--aisa-deep)) !important;
	color: #fff !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	box-shadow: 0 10px 30px color-mix(in srgb, var(--aisa-accent) 38%, transparent), inset 0 1px 0 rgba(255, 255, 255, .22) !important;
	transition: transform .18s ease, box-shadow .18s ease !important;
}
.aisa .aisa-launcher:hover { transform: translateY(-2px) !important; box-shadow: 0 14px 34px color-mix(in srgb, var(--aisa-accent) 46%, transparent), inset 0 1px 0 rgba(255, 255, 255, .22) !important; }
.aisa .aisa-launcher svg { width: 24px !important; height: 24px !important; }
.aisa .aisa-launcher span { display: inline !important; }
.aisa .aisa-launcher:not(:has(span)) { padding: 0 !important; }
.aisa--open .aisa-launcher { display: none !important; }

/* ---------- Panel ---------- */
.aisa .aisa-panel::before { content: "" !important; display: block !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; height: 190px !important; background: radial-gradient(120% 100% at 0% 0%, var(--aisa-tint-2), var(--aisa-canvas) 70%) !important; pointer-events: none !important; z-index: 0 !important; }
.aisa .aisa-tabs, .aisa .aisa-body { position: relative !important; z-index: 1 !important; }
.aisa--tabs-top .aisa-head, .aisa--tabs-bottom .aisa-head { margin-bottom: 10px !important; border-bottom: 1px solid var(--aisa-line) !important; }
.aisa .aisa-panel {
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	width: var(--aisa-w, 400px) !important;
	max-width: calc(100vw - 44px) !important;
	height: var(--aisa-h, 660px) !important;
	max-height: calc(100vh - 44px) !important;
	max-height: calc(100dvh - 44px) !important;
	background: var(--aisa-canvas) !important;
	border-radius: var(--aisa-radius) !important;
	box-shadow: 0 30px 80px rgba(14, 15, 26, .24), 0 0 0 1px rgba(14, 15, 26, .05) !important;
	overflow: hidden !important;
	animation: aisa-in .22s cubic-bezier(.2, .8, .3, 1) !important;
}
@keyframes aisa-in { from { opacity: 0; transform: translateY(16px) scale(.97); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.aisa .aisa-panel { animation: none !important; }
	.aisa .aisa-launcher, .aisa .aisa-doc-btn, .aisa .aisa-doc-item { transition: none !important; }
	.aisa .aisa-typing .aisa-dot-anim { animation: none !important; opacity: .7 !important; }
}

/* ---------- Header: soft accent wash ---------- */
.aisa .aisa-head {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex: none !important;
	padding: 18px 10px 16px 16px !important;
	background: transparent !important;
	position: relative !important;
	z-index: 1 !important;
}
.aisa .aisa-avatar {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	width: 36px !important;
	height: 36px !important;
	flex: none !important;
	border-radius: 12px !important;
	background: linear-gradient(145deg, var(--aisa-accent), var(--aisa-deep)) !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	text-transform: uppercase !important;
	box-shadow: 0 6px 16px color-mix(in srgb, var(--aisa-accent) 30%, transparent) !important;
}
.aisa .aisa-avatar span { display: inline !important; }
.aisa .aisa-dot { display: block !important; position: absolute !important; right: -2px !important; bottom: -2px !important; width: 12px !important; height: 12px !important; border-radius: 50% !important; background: #22c55e !important; border: 0 !important; box-shadow: 0 0 0 2px var(--aisa-tint-2), inset 0 0 0 1px rgba(255, 255, 255, .35) !important; z-index: 2 !important; }
.aisa--head-plain .aisa-dot { box-shadow: 0 0 0 2px var(--aisa-canvas), inset 0 0 0 1px rgba(255, 255, 255, .35) !important; }
.aisa .aisa-head-text { flex: 1 !important; min-width: 0 !important; }
.aisa .aisa-name { font-weight: 700 !important; font-size: 15.5px !important; letter-spacing: -.015em !important; line-height: 1.25 !important; }
.aisa .aisa-tagline { font-size: 13px !important; color: var(--aisa-muted) !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; line-height: 1.4 !important; margin-top: 1px !important; }
.aisa .aisa-icon-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	flex: none !important;
	border-radius: 12px !important;
	background: transparent !important;
	color: var(--aisa-muted) !important;
	transition: background .15s ease, color .15s ease !important;
}
.aisa .aisa-icon-btn svg { width: 19px !important; height: 19px !important; stroke-width: 2.1 !important; }
.aisa .aisa-icon-btn:hover { background: rgba(14, 15, 26, .06) !important; color: var(--aisa-ink) !important; }

.aisa .aisa-body { flex: 1 !important; min-height: 0 !important; display: flex !important; }
.aisa .aisa-pane { flex: 1 !important; min-height: 0 !important; display: flex !important; flex-direction: column !important; width: 100% !important; }

/* ---------- Tab bar: two styles x three positions ---------- */
.aisa .aisa-tabs { display: flex !important; flex: none !important; }
.aisa .aisa-tab { display: flex !important; align-items: center !important; justify-content: center !important; flex: 1 !important; color: var(--aisa-muted) !important; font-weight: 600 !important; text-align: center !important; white-space: nowrap !important; transition: color .15s ease, background .15s ease !important; }
.aisa .aisa-tab span { display: block !important; }
.aisa .aisa-tab:hover { color: var(--aisa-ink) !important; }

/* Buttons style: icon above label on a plain strip */
.aisa--tabs-icons .aisa-tabs { padding: 6px 10px 4px !important; background: transparent !important; }
.aisa--tabs-icons.aisa--tabs-bottom .aisa-tabs { background: var(--aisa-surface) !important; }
.aisa--tabs-icons .aisa-tab { flex-direction: column !important; gap: 3px !important; padding: 4px !important; border-radius: 14px !important; font-size: 11.5px !important; line-height: 1.2 !important; }
.aisa--tabs-icons .aisa-tab svg { display: block !important; width: 22px !important; height: 22px !important; padding: 3px 0 !important; border-radius: 10px !important; box-sizing: content-box !important; background: transparent !important; transition: background .15s ease, padding .15s ease !important; }
.aisa--tabs-icons .aisa-tab.is-active { color: var(--aisa-accent) !important; background: transparent !important; box-shadow: none !important; }
.aisa--tabs-icons .aisa-tab.is-active svg { background: var(--aisa-tint-2) !important; padding: 3px 14px !important; }
.aisa--tabs-icons.aisa--tabs-top .aisa-tabs { margin: 0 0 5px !important; border-bottom: 1px solid var(--aisa-line) !important; }
.aisa--tabs-icons.aisa--tabs-bottom .aisa-tabs { border-top: 1px solid var(--aisa-line) !important; }
.aisa--tabs-icons.aisa--tabs-header .aisa-tabs { margin: 5px 0 14px !important; padding: 8px 10px 6px !important; border-top: 1px solid var(--aisa-line) !important; border-bottom: 1px solid var(--aisa-line) !important; }

/* Boxed style: segmented pill, active tab filled */
.aisa--tabs-boxed .aisa-tabs { gap: 4px !important; margin: 0 14px 10px !important; padding: 4px !important; background: var(--aisa-surface) !important; border-radius: 14px !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .06) !important; }
.aisa--tabs-boxed .aisa-tab { flex-direction: row !important; gap: 6px !important; height: 36px !important; padding: 0 8px !important; border-radius: 10px !important; font-size: 13px !important; line-height: 1 !important; }
.aisa--tabs-boxed .aisa-tab span { display: inline !important; }
.aisa--tabs-boxed .aisa-tab svg { display: inline-block !important; width: 17px !important; height: 17px !important; padding: 0 !important; border-radius: 0 !important; background: transparent !important; }
.aisa--tabs-boxed .aisa-tab:hover { background: var(--aisa-canvas) !important; }
.aisa--tabs-boxed .aisa-tab.is-active { color: #fff !important; background: linear-gradient(135deg, var(--aisa-accent), var(--aisa-deep)) !important; box-shadow: 0 4px 12px color-mix(in srgb, var(--aisa-accent) 28%, transparent) !important; }
.aisa--tabs-boxed.aisa--tabs-top .aisa-tabs { margin: 12px 14px 5px !important; }
.aisa--tabs-boxed.aisa--tabs-bottom .aisa-tabs { margin: 8px 14px 12px !important; }
.aisa--tabs-boxed.aisa--tabs-top .aisa-head { padding-top: 12px !important; }
.aisa--tabs-boxed.aisa--tabs-header .aisa-head { padding-bottom: 6px !important; }
.aisa--tabs-boxed.aisa--tabs-header .aisa-tabs { margin: 11px 14px 16px !important; }

/* ---------- Agent ---------- */
.aisa .aisa-log { flex: 1 !important; min-height: 0 !important; overflow-y: auto !important; overflow-x: hidden !important; padding: 4px 18px 10px !important; scroll-behavior: smooth !important; }
.aisa .aisa-log > * { max-width: 100% !important; min-width: 0 !important; }
.aisa .aisa-msg { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; margin: 0 0 20px !important; max-width: 100% !important; min-width: 0 !important; }
.aisa .aisa-msg--user { align-items: flex-end !important; }
.aisa .aisa-msg--assistant { align-items: stretch !important; }
.aisa .aisa-who { display: flex !important; align-items: center !important; gap: 6px !important; padding: 0 2px !important; }
.aisa .aisa-who--user { justify-content: flex-end !important; }
.aisa .aisa-mark--user { background: var(--aisa-canvas) !important; color: var(--aisa-muted) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08) !important; border-radius: 50% !important; overflow: hidden !important; }
.aisa .aisa-mark--user svg { width: 11px !important; height: 11px !important; stroke-width: 2.2 !important; }
.aisa .aisa-mark--user img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
.aisa .aisa-who-name { display: inline !important; font-size: 11.5px !important; font-weight: 600 !important; color: var(--aisa-muted) !important; line-height: 1 !important; }
.aisa .aisa-mark {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 18px !important;
	height: 18px !important;
	flex: none !important;
	margin: 0 !important;
	border-radius: 6px !important;
	background: var(--aisa-tint-2) !important;
	color: var(--aisa-accent) !important;
	font-size: 9.5px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
}
.aisa .aisa-bubble {
	display: block !important;
	max-width: 84% !important;
	font-size: 14.5px !important;
	line-height: 1.55 !important;
	word-wrap: break-word !important;
	overflow-wrap: anywhere !important;
}
.aisa .aisa-msg--assistant .aisa-bubble { width: 100% !important; min-width: 0 !important; max-width: 100% !important; padding: 0 2px !important; color: var(--aisa-ink) !important; }
.aisa .aisa-msg--user .aisa-bubble {
	padding: 10px 15px !important;
	border-radius: 18px 6px 18px 18px !important;
	background: var(--aisa-accent) !important;
	color: #fff !important;
	box-shadow: 0 4px 12px color-mix(in srgb, var(--aisa-accent) 24%, transparent) !important;
}
.aisa .aisa-msg--error .aisa-bubble { padding: 10px 14px !important; border-radius: 14px !important; background: #fff1ee !important; color: #9a2f22 !important; }
.aisa .aisa-bubble p { margin: 0 0 8px !important; }
.aisa .aisa-bubble p:last-child, .aisa .aisa-bubble ul:last-child, .aisa .aisa-bubble ol:last-child, .aisa .aisa-bubble pre:last-child { margin-bottom: 0 !important; }
.aisa .aisa-bubble ul, .aisa .aisa-bubble ol { margin: 4px 0 8px !important; padding-left: 20px !important; }
.aisa .aisa-bubble li { margin: 3px 0 !important; }
.aisa .aisa-bubble code { font-family: var(--aisa-mono) !important; font-size: 12.5px !important; background: rgba(14, 15, 26, .07) !important; padding: 1px 6px !important; border-radius: 6px !important; white-space: pre-wrap !important; }
.aisa .aisa-msg--user .aisa-bubble code { background: rgba(255, 255, 255, .22) !important; }
.aisa .aisa-bubble pre { margin: 6px 0 !important; padding: 10px 12px !important; max-width: 100% !important; background: #17181f !important; color: #e9eaf2 !important; border-radius: 12px !important; overflow-x: auto !important; white-space: pre-wrap !important; word-break: break-word !important; }
.aisa .aisa-bubble pre code { background: none !important; padding: 0 !important; color: inherit !important; white-space: pre-wrap !important; }
.aisa .aisa-bubble a { color: var(--aisa-accent) !important; text-decoration: underline !important; text-underline-offset: 2px !important; }
.aisa .aisa-msg--user .aisa-bubble a { color: #fff !important; }

/* Doc and contact actions under a reply */
.aisa .aisa-actions { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; width: 100% !important; max-width: 100% !important; margin: 8px 0 0 !important; padding-left: 0 !important; }
.aisa .aisa-doc-btn, .aisa .aisa-contact-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	max-width: 100% !important;
	padding: 8px 12px 8px 8px !important;
	border-radius: 14px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease !important;
}
.aisa .aisa-doc-btn { max-width: 100% !important; border: 1px solid var(--aisa-line) !important; background: var(--aisa-surface) !important; color: var(--aisa-ink) !important; box-shadow: 0 1px 2px rgba(14, 15, 26, .05) !important; }
.aisa .aisa-doc-btn svg { width: 30px !important; height: 30px !important; padding: 6px !important; box-sizing: border-box !important; border-radius: 9px !important; background: var(--aisa-tint) !important; color: var(--aisa-accent) !important; }
.aisa .aisa-doc-btn:hover { transform: translateY(-1px) !important; border-color: var(--aisa-accent) !important; box-shadow: 0 6px 16px rgba(14, 15, 26, .08) !important; }
.aisa .aisa-doc-btn span, .aisa .aisa-contact-btn span { display: inline-block !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.aisa .aisa-contact-btn { align-self: flex-start !important; margin-top: 6px !important; padding: 9px 14px 9px 10px !important; background: var(--aisa-ink) !important; color: #fff !important; }
.aisa .aisa-contact-btn svg { width: 18px !important; height: 18px !important; }
.aisa .aisa-contact-btn:hover { transform: translateY(-1px) !important; box-shadow: 0 6px 16px rgba(14, 15, 26, .18) !important; }

.aisa .aisa-chips { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin: 0 0 16px !important; padding-left: 0 !important; max-width: 100% !important; }
.aisa .aisa-chip {
	display: inline-block !important;
	padding: 8px 13px !important;
	border: 1px solid var(--aisa-line) !important;
	border-radius: 999px !important;
	background: var(--aisa-surface) !important;
	color: var(--aisa-ink) !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	transition: border-color .15s ease, color .15s ease, background .15s ease !important;
}
.aisa .aisa-chip:hover { border-color: var(--aisa-accent) !important; color: var(--aisa-accent) !important; background: var(--aisa-tint) !important; }

.aisa .aisa-typing { flex-direction: row !important; align-items: center !important; gap: 8px !important; }
.aisa .aisa-typing .aisa-who { padding: 0 !important; }
.aisa .aisa-typing .aisa-bubble { display: inline-flex !important; align-items: center !important; width: auto !important; flex: none !important; gap: 5px !important; padding: 0 !important; }
.aisa .aisa-typing .aisa-dot-anim { display: block !important; width: 7px !important; height: 7px !important; border-radius: 50% !important; background: var(--aisa-accent) !important; opacity: .4 !important; animation: aisa-dot 1.2s infinite !important; }
.aisa .aisa-typing .aisa-dot-anim:nth-child(2) { animation-delay: .2s !important; }
.aisa .aisa-typing .aisa-dot-anim:nth-child(3) { animation-delay: .4s !important; }
@keyframes aisa-dot { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }

/* Composer: floating pill */
.aisa .aisa-composer {
	display: flex !important;
	align-items: flex-end !important;
	gap: 8px !important;
	flex: none !important;
	margin: 0 14px !important;
	padding: 6px 6px 6px 16px !important;
	border-radius: 20px !important;
	background: var(--aisa-surface) !important;
	box-shadow: 0 2px 10px rgba(14, 15, 26, .08), 0 0 0 1px rgba(14, 15, 26, .04) !important;
	transition: box-shadow .15s ease !important;
}
.aisa .aisa-composer:focus-within { box-shadow: 0 2px 10px rgba(14, 15, 26, .08), 0 0 0 3px var(--aisa-ring) !important; }
.aisa .aisa-input {
	display: block !important;
	flex: 1 !important;
	width: 100% !important;
	min-height: 38px !important;
	max-height: 160px !important;
	margin: 0 !important;
	padding: 8px 0 !important;
	align-self: stretch !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--aisa-ink) !important;
	font-family: var(--aisa-font) !important;
	font-size: 14.5px !important;
	line-height: 1.45 !important;
	resize: none !important;
	overflow-y: auto !important;
}
.aisa .aisa-send {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	flex: none !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, var(--aisa-accent), var(--aisa-deep)) !important;
	color: #fff !important;
	box-shadow: 0 4px 12px color-mix(in srgb, var(--aisa-accent) 30%, transparent) !important;
	transition: transform .12s ease, opacity .12s ease !important;
}
.aisa .aisa-send svg { width: 19px !important; height: 19px !important; stroke-width: 2.3 !important; }
.aisa .aisa-send:hover { transform: scale(1.06) !important; }
.aisa .aisa-send:disabled { opacity: .4 !important; transform: none !important; box-shadow: none !important; }
.aisa .aisa-foot[hidden] { display: none !important; }
.aisa .aisa-foot { display: block !important; flex: none !important; padding: 8px 20px 10px !important; font-size: 11px !important; color: var(--aisa-muted) !important; line-height: 1.35 !important; text-align: center !important; }
.aisa .aisa-foot span { display: inline !important; }

/* ---------- Docs ---------- */
.aisa .aisa-docs-list { flex: 1 !important; min-height: 0 !important; display: flex !important; flex-direction: column !important; }
.aisa .aisa-search {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex: none !important;
	margin: 2px 14px 8px !important;
	padding: 0 14px !important;
	border-radius: 16px !important;
	background: var(--aisa-surface) !important;
	color: var(--aisa-muted) !important;
	box-shadow: 0 2px 10px rgba(14, 15, 26, .08), 0 0 0 1px rgba(14, 15, 26, .04) !important;
	transition: box-shadow .15s ease !important;
}
.aisa .aisa-search:focus-within { box-shadow: 0 2px 10px rgba(14, 15, 26, .08), 0 0 0 3px var(--aisa-ring) !important; }
.aisa .aisa-search svg { width: 18px !important; height: 18px !important; }
.aisa .aisa-search input { display: block !important; flex: 1 !important; width: 100% !important; height: 44px !important; background: transparent !important; color: var(--aisa-ink) !important; font-family: var(--aisa-font) !important; font-size: 14.5px !important; line-height: 44px !important; }
.aisa .aisa-cats { display: flex !important; flex: none !important; gap: 6px !important; padding: 2px 14px 8px !important; overflow-x: auto !important; overflow-y: hidden !important; scrollbar-width: none !important; -webkit-overflow-scrolling: touch !important; }
.aisa .aisa-cats::-webkit-scrollbar { display: none !important; }
.aisa .aisa-cats:empty { display: none !important; }
.aisa .aisa-cat {
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	flex: none !important;
	height: 28px !important;
	padding: 0 11px !important;
	border-radius: 999px !important;
	background: var(--aisa-surface) !important;
	color: var(--aisa-ink) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	box-shadow: 0 0 0 1px rgba(14, 15, 26, .06) !important;
	transition: background .15s ease, color .15s ease !important;
}
.aisa .aisa-cat em { display: inline !important; font-style: normal !important; font-size: 11px !important; font-weight: 500 !important; color: var(--aisa-muted) !important; }
.aisa .aisa-cat:hover { background: var(--aisa-tint) !important; }
.aisa .aisa-cat.is-active { background: var(--aisa-ink) !important; color: #fff !important; box-shadow: none !important; }
.aisa .aisa-cat.is-active em { color: rgba(255, 255, 255, .7) !important; }
.aisa .aisa-results { flex: 1 !important; min-height: 0 !important; overflow-y: auto !important; padding: 2px 14px 14px !important; }
.aisa .aisa-doc-item {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 3px !important;
	width: 100% !important;
	margin: 0 0 8px !important;
	padding: 12px 14px !important;
	border-radius: 16px !important;
	background: var(--aisa-surface) !important;
	color: var(--aisa-ink) !important;
	text-align: left !important;
	box-shadow: 0 1px 2px rgba(14, 15, 26, .04), 0 0 0 1px rgba(14, 15, 26, .04) !important;
	transition: transform .15s ease, box-shadow .15s ease !important;
}
.aisa .aisa-doc-item:hover { transform: translateY(-1px) !important; box-shadow: 0 6px 18px rgba(14, 15, 26, .08), 0 0 0 1px var(--aisa-ring) !important; }
.aisa .aisa-doc-title { display: block !important; font-weight: 650 !important; font-size: 14.5px !important; line-height: 1.35 !important; letter-spacing: -.005em !important; }
.aisa .aisa-doc-excerpt { display: -webkit-box !important; font-size: 13px !important; color: var(--aisa-muted) !important; line-height: 1.45 !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.aisa .aisa-doc-cat { display: inline-block !important; margin-top: 4px !important; padding: 2px 8px !important; border-radius: 999px !important; background: var(--aisa-tint) !important; font-size: 11.5px !important; font-weight: 600 !important; color: var(--aisa-accent) !important; }
.aisa .aisa-more { display: flex !important; justify-content: center !important; width: 100% !important; margin-top: 4px !important; padding: 10px !important; border-radius: 14px !important; background: var(--aisa-surface) !important; color: var(--aisa-ink) !important; font-weight: 600 !important; font-size: 13.5px !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .06) !important; }
.aisa .aisa-more:hover { background: var(--aisa-tint) !important; }
.aisa .aisa-loading, .aisa .aisa-empty { display: block !important; padding: 34px 18px !important; text-align: center !important; color: var(--aisa-muted) !important; font-size: 14px !important; }

.aisa .aisa-reader { flex: 1 !important; min-height: 0 !important; overflow-y: auto !important; position: relative !important; background: var(--aisa-surface) !important; }
.aisa .aisa-reader-bar {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 8px !important;
	position: sticky !important;
	top: 0 !important;
	z-index: 1 !important;
	padding: 4px 10px 6px !important;
	background: rgba(255, 255, 255, .9) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
	border-bottom: 1px solid var(--aisa-line) !important;
}
.aisa .aisa-back, .aisa .aisa-open {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	padding: 7px 10px 7px 6px !important;
	border-radius: 11px !important;
	background: transparent !important;
	color: var(--aisa-accent) !important;
	font-weight: 600 !important;
	font-size: 13.5px !important;
	line-height: 1.3 !important;
}
.aisa .aisa-open { padding: 7px 9px !important; }
.aisa .aisa-back:hover, .aisa .aisa-open:hover { background: var(--aisa-tint) !important; }
.aisa .aisa-back svg, .aisa .aisa-open svg { width: 18px !important; height: 18px !important; stroke-width: 2.2 !important; }
.aisa .aisa-article { display: block !important; padding: 16px 20px 16px !important; font-size: 14.5px !important; line-height: 1.6 !important; }
.aisa .aisa-article h2 { margin: 0 0 14px !important; font-size: 20px !important; font-weight: 750 !important; line-height: 1.25 !important; letter-spacing: -.02em !important; }
.aisa .aisa-article h3, .aisa .aisa-article h4 { margin: 20px 0 6px !important; font-size: 15.5px !important; font-weight: 700 !important; line-height: 1.35 !important; letter-spacing: -.01em !important; }
.aisa .aisa-article p, .aisa .aisa-article ul, .aisa .aisa-article ol { margin: 0 0 12px !important; }
.aisa .aisa-article ul, .aisa .aisa-article ol { padding-left: 20px !important; }
.aisa .aisa-article li { margin: 3px 0 !important; }
.aisa .aisa-article img { max-width: 100% !important; height: auto !important; margin: 8px 0 !important; border-radius: 12px !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .06) !important; }
.aisa .aisa-article pre { margin: 0 0 12px !important; padding: 10px 12px !important; background: #17181f !important; color: #e9eaf2 !important; border-radius: 12px !important; overflow-x: auto !important; font-family: var(--aisa-mono) !important; font-size: 12.5px !important; white-space: pre !important; }
.aisa .aisa-article code { font-family: var(--aisa-mono) !important; font-size: 12.5px !important; background: rgba(14, 15, 26, .07) !important; padding: 1px 6px !important; border-radius: 6px !important; }
.aisa .aisa-article pre code { background: none !important; padding: 0 !important; color: inherit !important; }
.aisa .aisa-article a { color: var(--aisa-accent) !important; text-decoration: underline !important; text-underline-offset: 2px !important; }
.aisa .aisa-article strong { font-weight: 700 !important; }
.aisa .aisa-article table { width: 100% !important; margin: 0 0 12px !important; font-size: 13px !important; }
.aisa .aisa-article td, .aisa .aisa-article th { padding: 6px 8px !important; border: 1px solid var(--aisa-line) !important; }
.aisa .aisa-article th { font-weight: 600 !important; background: var(--aisa-canvas) !important; }
.aisa .aisa-article blockquote { margin: 0 0 12px !important; padding: 6px 14px !important; border-left: 3px solid var(--aisa-accent) !important; background: var(--aisa-tint) !important; border-radius: 0 10px 10px 0 !important; color: var(--aisa-ink) !important; }
.aisa .aisa-article iframe, .aisa .aisa-article video { display: block !important; width: 100% !important; max-width: 100% !important; height: auto !important; aspect-ratio: 16 / 9 !important; margin: 8px 0 !important; border-radius: 12px !important; background: #000 !important; }
.aisa .aisa-article figure { display: block !important; margin: 10px 0 !important; max-width: 100% !important; }
.aisa .aisa-article .wp-block-embed__wrapper { display: block !important; position: relative !important; }
.aisa .aisa-article .wp-block-embed__wrapper::before { display: none !important; }
.aisa .aisa-article figcaption { display: block !important; margin-top: 5px !important; font-size: 11.5px !important; color: var(--aisa-muted) !important; text-align: center !important; }

/* ---------- Contact: fills the pane, message box takes the spare space ---------- */
.aisa .aisa-pane-contact { display: flex !important; flex-direction: column !important; overflow-y: auto !important; overflow-x: hidden !important; }
.aisa .aisa-form { display: flex !important; flex-direction: column !important; flex: 1 0 auto !important; min-height: 0 !important; gap: 9px !important; padding: 0 18px 14px !important; }
.aisa .aisa-form label { display: flex !important; flex-direction: column !important; flex: none !important; gap: 4px !important; font-size: 12px !important; font-weight: 600 !important; color: var(--aisa-muted) !important; }
.aisa .aisa-form label span { display: block !important; padding-left: 4px !important; }
.aisa .aisa-form input[type="text"], .aisa .aisa-form input[type="email"], .aisa .aisa-form textarea {
	display: block !important;
	width: 100% !important;
	padding: 9px 13px !important;
	border-radius: 13px !important;
	background: var(--aisa-surface) !important;
	color: var(--aisa-ink) !important;
	font-family: var(--aisa-font) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	box-shadow: 0 1px 2px rgba(14, 15, 26, .04), 0 0 0 1px rgba(14, 15, 26, .06) !important;
	transition: box-shadow .15s ease !important;
}
.aisa .aisa-form input:focus, .aisa .aisa-form textarea:focus { box-shadow: 0 1px 2px rgba(14, 15, 26, .04), 0 0 0 3px var(--aisa-ring) !important; outline: 0 !important; }
.aisa .aisa-form label:has(textarea) { flex: 1 0 auto !important; min-height: 0 !important; }
.aisa .aisa-form textarea { flex: 1 0 auto !important; height: 96px !important; min-height: 96px !important; max-height: none !important; resize: none !important; overflow-y: auto !important; }
.aisa .aisa-form .aisa-check { display: flex !important; flex: none !important; flex-direction: row !important; align-items: center !important; gap: 0 !important; padding: 0 4px !important; font-weight: 500 !important; color: var(--aisa-muted) !important; cursor: pointer !important; }
.aisa .aisa-form .aisa-check span { padding: 0 !important; }
.aisa .aisa-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.aisa .aisa-primary {
	display: flex !important;
	justify-content: center !important;
	flex: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 12px !important;
	border-radius: 13px !important;
	background: linear-gradient(135deg, var(--aisa-accent), var(--aisa-deep)) !important;
	color: #fff !important;
	font-weight: 650 !important;
	font-size: 14.5px !important;
	line-height: 1.3 !important;
	box-shadow: 0 6px 18px color-mix(in srgb, var(--aisa-accent) 30%, transparent) !important;
	transition: transform .12s ease !important;
}
.aisa .aisa-primary:hover { transform: translateY(-1px) !important; }
.aisa .aisa-primary:disabled { opacity: .6 !important; transform: none !important; box-shadow: none !important; }
.aisa .aisa-form-status { display: none !important; flex: none !important; font-size: 13px !important; line-height: 1.3 !important; text-align: center !important; color: var(--aisa-muted) !important; }
.aisa .aisa-form-status:not(:empty) { display: block !important; }
.aisa .aisa-form-status.is-ok { color: #1f7a45 !important; }
.aisa .aisa-form-status.is-error { color: #9a2f22 !important; }

/* ---------- Rich reply formatting ---------- */
.aisa .aisa-bubble h3, .aisa .aisa-bubble h4 { display: block !important; margin: 12px 0 6px !important; font-size: 14.5px !important; font-weight: 700 !important; line-height: 1.3 !important; letter-spacing: -.01em !important; color: var(--aisa-ink) !important; }
.aisa .aisa-bubble h3:first-child, .aisa .aisa-bubble h4:first-child { margin-top: 2px !important; }
.aisa .aisa-bubble hr { display: block !important; height: 1px !important; margin: 12px 0 !important; background: var(--aisa-line) !important; border: 0 !important; }
.aisa .aisa-bubble blockquote { display: block !important; margin: 8px 0 !important; padding: 8px 12px !important; border-left: 3px solid var(--aisa-accent) !important; border-radius: 0 10px 10px 0 !important; background: var(--aisa-tint) !important; color: var(--aisa-ink) !important; font-size: 13.5px !important; }
.aisa .aisa-bubble blockquote.aisa-callout--warning, .aisa .aisa-bubble blockquote.aisa-callout--important { border-left-color: #d97706 !important; background: #fff7ed !important; }
.aisa .aisa-bubble ol li::marker { color: var(--aisa-accent) !important; font-weight: 700 !important; }
.aisa .aisa-bubble ul li::marker { color: var(--aisa-muted) !important; }
.aisa .aisa-task { display: inline-block !important; width: 13px !important; height: 13px !important; margin: 0 6px -2px 0 !important; border-radius: 4px !important; border: 1.5px solid var(--aisa-muted) !important; }
.aisa .aisa-task.is-done { background: var(--aisa-accent) !important; border-color: var(--aisa-accent) !important; }
.aisa .aisa-table { display: block !important; max-width: 100% !important; margin: 8px 0 !important; overflow-x: auto !important; border-radius: 12px !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08) !important; background: var(--aisa-surface) !important; }
.aisa .aisa-table table { display: table !important; width: 100% !important; border-collapse: collapse !important; font-size: 13px !important; }
.aisa .aisa-table th, .aisa .aisa-table td { display: table-cell !important; padding: 8px 10px !important; border-bottom: 1px solid var(--aisa-line) !important; text-align: left !important; vertical-align: top !important; line-height: 1.4 !important; }
.aisa .aisa-table th { font-weight: 700 !important; background: var(--aisa-canvas) !important; color: var(--aisa-ink) !important; white-space: nowrap !important; }
.aisa .aisa-table tr:last-child td { border-bottom: 0 !important; }
.aisa .aisa-table td code { white-space: nowrap !important; }
.aisa .aisa-fig { display: block !important; margin: 10px 0 !important; max-width: 100% !important; }
.aisa .aisa-fig a { display: block !important; }
.aisa .aisa-fig img { display: block !important; width: 100% !important; height: auto !important; border-radius: 12px !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08), 0 4px 14px rgba(14, 15, 26, .08) !important; cursor: zoom-in !important; }
.aisa .aisa-fig figcaption { display: block !important; margin-top: 5px !important; font-size: 11.5px !important; color: var(--aisa-muted) !important; text-align: center !important; }
.aisa .aisa-chart { display: block !important; margin: 10px 0 !important; padding: 12px 14px !important; border-radius: 12px !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08) !important; }
.aisa .aisa-chart-title { display: block !important; margin: 0 0 8px !important; font-size: 12.5px !important; font-weight: 700 !important; color: var(--aisa-ink) !important; }
.aisa .aisa-chart-row { display: grid !important; grid-template-columns: minmax(60px, 34%) 1fr auto !important; align-items: center !important; gap: 8px !important; margin: 4px 0 !important; font-size: 12.5px !important; }
.aisa .aisa-chart-label { display: block !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; color: var(--aisa-ink) !important; }
.aisa .aisa-chart-track { display: block !important; height: 10px !important; border-radius: 999px !important; background: var(--aisa-canvas) !important; overflow: hidden !important; }
.aisa .aisa-chart-bar { display: block !important; height: 100% !important; border-radius: 999px !important; background: linear-gradient(90deg, var(--aisa-accent), var(--aisa-deep)) !important; }
.aisa .aisa-chart-value { display: block !important; min-width: 34px !important; text-align: right !important; font-weight: 600 !important; font-variant-numeric: tabular-nums !important; color: var(--aisa-ink) !important; }
.aisa .aisa-msg--user .aisa-bubble h3, .aisa .aisa-msg--user .aisa-bubble table { color: #fff !important; }

/* ---------- Emoji (WordPress swaps them for <img class="emoji">) ---------- */
.aisa img.emoji, .aisa img.wp-smiley, .aisa img[class*="emoji"] { display: inline-block !important; width: 1em !important; height: 1em !important; margin: 0 .07em !important; padding: 0 !important; vertical-align: -.12em !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: none !important; }

/* ---------- Ask AI about this article (docs reader) ---------- */
.aisa .aisa-ask { display: block !important; position: sticky !important; bottom: 0 !important; z-index: 2 !important; margin: 0 !important; padding: 10px 14px 12px !important; background: rgba(255, 255, 255, .92) !important; backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important; border-top: 1px solid var(--aisa-line) !important; }
.aisa .aisa-ask-buttons { display: flex !important; gap: 8px !important; }
.aisa .aisa-ask-open, .aisa .aisa-ask-contact { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important; flex: 1 !important; min-width: 0 !important; padding: 10px 10px !important; border-radius: 13px !important; font-size: 13px !important; font-weight: 650 !important; line-height: 1.3 !important; white-space: nowrap !important; transition: background .15s ease !important; }
.aisa .aisa-ask-open, .aisa .aisa-ask-contact { overflow: hidden !important; }
.aisa .aisa-ask-open span, .aisa .aisa-ask-contact span { display: inline-block !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.aisa .aisa-ask-open { background: var(--aisa-tint) !important; color: var(--aisa-accent) !important; box-shadow: 0 0 0 1px var(--aisa-ring) !important; }
.aisa .aisa-ask-open:hover { background: var(--aisa-tint-2) !important; }
.aisa .aisa-ask-contact { background: var(--aisa-surface) !important; color: var(--aisa-ink) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .1) !important; }
.aisa .aisa-ask-contact:hover { background: var(--aisa-canvas) !important; }
.aisa .aisa-ask-open svg, .aisa .aisa-ask-contact svg { width: 17px !important; height: 17px !important; flex: none !important; }
.aisa .aisa-ask-form { display: block !important; padding: 12px 14px !important; border-radius: 14px !important; background: var(--aisa-canvas) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .06) !important; }
.aisa .aisa-ask-form label { display: flex !important; flex-direction: column !important; gap: 6px !important; font-size: 12.5px !important; font-weight: 600 !important; color: var(--aisa-ink) !important; }
.aisa .aisa-ask-form label span { display: block !important; }
.aisa .aisa-ask-form textarea { display: block !important; width: 100% !important; min-height: 60px !important; padding: 9px 12px !important; border-radius: 12px !important; background: var(--aisa-surface) !important; color: var(--aisa-ink) !important; font-family: var(--aisa-font) !important; font-size: 14px !important; font-weight: 400 !important; line-height: 1.4 !important; resize: vertical !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08) !important; }
.aisa .aisa-ask-form textarea:focus { box-shadow: 0 0 0 3px var(--aisa-ring) !important; outline: 0 !important; }
.aisa .aisa-ask-actions { display: flex !important; justify-content: flex-end !important; gap: 8px !important; margin-top: 10px !important; }
.aisa .aisa-ask-cancel { display: inline-flex !important; align-items: center !important; padding: 8px 12px !important; border-radius: 10px !important; color: var(--aisa-muted) !important; font-size: 13px !important; font-weight: 600 !important; }
.aisa .aisa-ask-cancel:hover { background: rgba(14, 15, 26, .06) !important; color: var(--aisa-ink) !important; }
.aisa .aisa-ask-send { display: inline-flex !important; align-items: center !important; gap: 6px !important; padding: 8px 14px 8px 12px !important; border-radius: 10px !important; background: linear-gradient(135deg, var(--aisa-accent), var(--aisa-deep)) !important; color: #fff !important; font-size: 13px !important; font-weight: 650 !important; }
.aisa .aisa-ask-send svg { width: 16px !important; height: 16px !important; }
.aisa .aisa-ask [hidden] { display: none !important; }

/* Reference chip above a visitor message that was asked from a doc */
.aisa .aisa-ref { display: inline-flex !important; align-items: center !important; gap: 6px !important; max-width: 90% !important; margin: 0 0 2px !important; padding: 4px 10px 4px 7px !important; border-radius: 999px !important; background: var(--aisa-surface) !important; color: var(--aisa-muted) !important; font-size: 11.5px !important; font-weight: 600 !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08) !important; }
.aisa .aisa-ref svg { width: 13px !important; height: 13px !important; color: var(--aisa-accent) !important; }
.aisa .aisa-ref span { display: inline-block !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.aisa .aisa-ref:hover { color: var(--aisa-accent) !important; }

/* ---------- Design options ---------- */
/* Corners */
.aisa--radius-soft { --aisa-radius: 16px; }
.aisa--radius-square { --aisa-radius: 6px; }
.aisa--radius-square .aisa-composer, .aisa--radius-square .aisa-search, .aisa--radius-square .aisa-doc-item, .aisa--radius-square .aisa-doc-btn, .aisa--radius-square .aisa-form input, .aisa--radius-square .aisa-form textarea, .aisa--radius-square .aisa-primary, .aisa--radius-square .aisa-tabs, .aisa--radius-square .aisa-tab, .aisa--radius-square .aisa-avatar, .aisa--radius-square .aisa-msg--user .aisa-bubble, .aisa--radius-square .aisa-ask-open, .aisa--radius-square .aisa-ask-contact, .aisa--radius-square .aisa-chart, .aisa--radius-square .aisa-table { border-radius: 6px !important; }
.aisa--radius-soft .aisa-composer, .aisa--radius-soft .aisa-search, .aisa--radius-soft .aisa-doc-item, .aisa--radius-soft .aisa-doc-btn, .aisa--radius-soft .aisa-form input, .aisa--radius-soft .aisa-form textarea, .aisa--radius-soft .aisa-primary, .aisa--radius-soft .aisa-tabs, .aisa--radius-soft .aisa-avatar { border-radius: 12px !important; }
/* Font */
.aisa--font-inherit, .aisa--font-inherit * { font-family: inherit !important; }
.aisa--font-inherit { font-family: inherit !important; }
/* Header styles */
.aisa--head-plain .aisa-panel::before { display: none !important; }
.aisa--head-solid .aisa-panel::before { display: none !important; }
.aisa--head-solid .aisa-head { background: linear-gradient(135deg, var(--aisa-accent), var(--aisa-deep)) !important; color: #fff !important; }
.aisa--head-solid .aisa-name, .aisa--head-solid .aisa-intro span, .aisa--head-solid .aisa-icon-btn { color: #fff !important; }
.aisa--head-solid .aisa-intro strong { color: rgba(255, 255, 255, .85) !important; }
.aisa--head-solid .aisa-intro strong::after { color: rgba(255, 255, 255, .6) !important; }
.aisa--head-solid .aisa-icon-btn:hover { background: rgba(255, 255, 255, .18) !important; color: #fff !important; }
.aisa--head-solid .aisa-avatar { background: rgba(255, 255, 255, .18) !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .3) !important; }
.aisa--head-solid .aisa-avatar.has-logo { background: #fff !important; }
.aisa--head-solid .aisa-dot { box-shadow: 0 0 0 2px var(--aisa-accent), inset 0 0 0 1px rgba(255, 255, 255, .35) !important; }
.aisa--head-solid.aisa--tabs-top .aisa-head, .aisa--head-solid.aisa--tabs-bottom .aisa-head { border-bottom: 0 !important; margin-bottom: 12px !important; }
.aisa--head-solid.aisa--tabs-top.aisa--tabs-icons .aisa-tabs { background: var(--aisa-surface) !important; }
/* Visitor bubble */
.aisa--bubble-dark .aisa-msg--user .aisa-bubble { background: var(--aisa-ink) !important; color: var(--aisa-surface) !important; box-shadow: none !important; }
.aisa--bubble-light .aisa-msg--user .aisa-bubble { background: var(--aisa-surface) !important; color: var(--aisa-ink) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08), 0 2px 8px rgba(14, 15, 26, .06) !important; }
.aisa--bubble-light .aisa-msg--user .aisa-bubble a, .aisa--bubble-light .aisa-msg--user .aisa-bubble code { color: var(--aisa-accent) !important; }
/* Launcher size and shape */
.aisa--launcher-small .aisa-launcher { height: 46px !important; min-width: 46px !important; padding: 0 16px 0 14px !important; font-size: 14px !important; }
.aisa--launcher-small .aisa-launcher svg, .aisa--launcher-small .aisa-launcher-logo { width: 20px !important; height: 20px !important; }
.aisa--launcher-large .aisa-launcher { height: 68px !important; min-width: 68px !important; padding: 0 26px 0 22px !important; font-size: 16px !important; }
.aisa--launcher-large .aisa-launcher svg, .aisa--launcher-large .aisa-launcher-logo { width: 28px !important; height: 28px !important; }
.aisa--launcher-circle .aisa-launcher { border-radius: 50% !important; padding: 0 !important; width: 58px !important; }
.aisa--launcher-circle .aisa-launcher span { display: none !important; }
.aisa--launcher-circle.aisa--launcher-small .aisa-launcher { width: 46px !important; }
.aisa--launcher-circle.aisa--launcher-large .aisa-launcher { width: 68px !important; }
.aisa--launcher-rounded .aisa-launcher { border-radius: 16px !important; }
.aisa .aisa-launcher-logo { display: block !important; width: 26px !important; height: 26px !important; border-radius: 50% !important; object-fit: cover !important; background: #fff !important; }
/* Dark theme */
.aisa--theme-dark { --aisa-ink: #eef0f5; --aisa-muted: #9aa0ad; --aisa-line: #2b2e39; --aisa-surface: #1c1e27; --aisa-canvas: #13151b; --aisa-tint: color-mix(in srgb, var(--aisa-accent) 16%, #1c1e27); --aisa-tint-2: color-mix(in srgb, var(--aisa-accent) 26%, #1c1e27); --aisa-deep: color-mix(in srgb, var(--aisa-accent) 70%, #000); }
.aisa--theme-dark .aisa-panel { box-shadow: 0 30px 80px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .06) !important; }
.aisa--theme-dark .aisa-panel::before { background: radial-gradient(120% 100% at 0% 0%, var(--aisa-tint-2), var(--aisa-canvas) 70%) !important; }
.aisa--theme-dark .aisa-icon-btn:hover { background: rgba(255, 255, 255, .08) !important; }
.aisa--theme-dark .aisa-composer, .aisa--theme-dark .aisa-search, .aisa--theme-dark .aisa-doc-item, .aisa--theme-dark .aisa-tabs, .aisa--theme-dark .aisa-form input[type="text"], .aisa--theme-dark .aisa-form input[type="email"], .aisa--theme-dark .aisa-form textarea, .aisa--theme-dark .aisa-doc-btn, .aisa--theme-dark .aisa-chart, .aisa--theme-dark .aisa-table, .aisa--theme-dark .aisa-cat, .aisa--theme-dark .aisa-more, .aisa--theme-dark .aisa-ref, .aisa--theme-dark .aisa-ask-form textarea, .aisa--theme-dark .aisa-ask-contact { box-shadow: 0 0 0 1px rgba(255, 255, 255, .08) !important; }
.aisa--theme-dark .aisa-composer:focus-within, .aisa--theme-dark .aisa-search:focus-within, .aisa--theme-dark .aisa-form input:focus, .aisa--theme-dark .aisa-form textarea:focus, .aisa--theme-dark .aisa-ask-form textarea:focus { box-shadow: 0 0 0 3px var(--aisa-ring) !important; }
.aisa--theme-dark .aisa-bubble code, .aisa--theme-dark .aisa-article code { background: rgba(255, 255, 255, .1) !important; }
.aisa--theme-dark .aisa-bubble pre, .aisa--theme-dark .aisa-article pre { background: #0d0e13 !important; }
.aisa--theme-dark .aisa-reader { background: var(--aisa-surface) !important; }
.aisa--theme-dark .aisa-reader-bar { background: rgba(28, 30, 39, .9) !important; }
.aisa--theme-dark .aisa-ask { background: rgba(28, 30, 39, .92) !important; }
.aisa--theme-dark .aisa-article th { background: var(--aisa-canvas) !important; }
.aisa--theme-dark .aisa-article img, .aisa--theme-dark .aisa-fig img { box-shadow: 0 0 0 1px rgba(255, 255, 255, .08) !important; }
.aisa--theme-dark .aisa-table th { background: var(--aisa-canvas) !important; }
.aisa--theme-dark .aisa-msg--error .aisa-bubble { background: #3a1f1c !important; color: #ffb4a8 !important; }
.aisa--theme-dark .aisa-cat.is-active { background: var(--aisa-accent) !important; color: #fff !important; }
.aisa--theme-dark .aisa-contact-btn { background: var(--aisa-accent) !important; }
.aisa--theme-dark .aisa-mark--user { background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(255, 255, 255, .1) !important; }
.aisa--theme-dark ::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, .18) !important; }
.aisa--theme-dark.aisa--tabs-icons.aisa--tabs-bottom .aisa-tabs { background: var(--aisa-surface) !important; }
.aisa--theme-dark .aisa-chart-track { background: rgba(255, 255, 255, .08) !important; }
.aisa--theme-dark .aisa-doc-cat { background: var(--aisa-tint) !important; }
.aisa--theme-dark .aisa-bubble blockquote { background: var(--aisa-tint) !important; }
.aisa--theme-dark .aisa-bubble blockquote.aisa-callout--warning, .aisa--theme-dark .aisa-bubble blockquote.aisa-callout--important { background: #3a2a12 !important; }
.aisa--theme-dark img.emoji { filter: none !important; }

/* ---------- Tab intro: lives under the bot name in the header ---------- */
.aisa .aisa-intro { display: flex !important; flex-direction: row !important; align-items: baseline !important; flex-wrap: nowrap !important; gap: 5px !important; min-width: 0 !important; margin: 1px 0 0 !important; padding: 0 !important; line-height: 1.3 !important; overflow: hidden !important; }
.aisa .aisa-intro:empty { display: none !important; }
.aisa .aisa-intro strong { display: inline !important; flex: none !important; font-size: 12px !important; font-weight: 650 !important; color: var(--aisa-accent) !important; }
.aisa .aisa-intro strong::after { content: "·" !important; display: inline !important; margin-left: 5px !important; color: var(--aisa-muted) !important; opacity: .6 !important; font-weight: 400 !important; }
.aisa .aisa-intro span { display: inline !important; min-width: 0 !important; font-size: 12px !important; color: var(--aisa-muted) !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }

/* ---------- Screenshot attachment ---------- */
.aisa .aisa-img-chip { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 12px !important; flex: none !important; width: auto !important; box-sizing: border-box !important; margin: 0 14px 8px !important; padding: 8px 12px 8px 10px !important; border-radius: 14px !important; background: var(--aisa-surface) !important; color: var(--aisa-ink) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08), 0 2px 8px rgba(14, 15, 26, .05) !important; overflow: visible !important; }
.aisa .aisa-img-thumbs { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 10px !important; flex: none !important; padding: 2px 4px 2px 0 !important; }
.aisa .aisa-img-thumb { display: block !important; position: relative !important; width: 44px !important; height: 44px !important; flex: none !important; margin: 0 !important; }
.aisa .aisa-img-thumb img { display: block !important; width: 44px !important; height: 44px !important; max-width: none !important; object-fit: cover !important; border-radius: 10px !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .1) !important; }
.aisa .aisa-img-thumb button { display: flex !important; align-items: center !important; justify-content: center !important; position: absolute !important; top: -6px !important; right: -6px !important; width: 20px !important; height: 20px !important; margin: 0 !important; padding: 0 !important; border-radius: 50% !important; background: var(--aisa-ink) !important; color: #fff !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1 !important; box-shadow: 0 0 0 2px var(--aisa-surface) !important; cursor: pointer !important; }
.aisa .aisa-img-thumb button:hover { background: #b91c1c !important; }
.aisa .aisa-img-label { display: flex !important; align-items: center !important; gap: 6px !important; flex: 1 !important; min-width: 0 !important; margin-left: 2px !important; color: var(--aisa-muted) !important; font-size: 12.5px !important; font-weight: 600 !important; line-height: 1.3 !important; }
.aisa .aisa-img-label::before { content: "" !important; display: inline-block !important; width: 7px !important; height: 7px !important; flex: none !important; border-radius: 50% !important; background: #22c55e !important; }
.aisa .aisa-img-chip[hidden] { display: none !important; }
/* Belt and braces: any image placed directly in the chip (older cached script) is sized the same way. */
.aisa .aisa-img-chip > img { display: block !important; width: 44px !important; height: 44px !important; max-width: none !important; margin: 2px 0 2px 2px !important; object-fit: cover !important; border-radius: 10px !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .1) !important; flex: none !important; }
.aisa .aisa-img-chip > span { display: flex !important; align-items: center !important; gap: 6px !important; flex: 1 !important; min-width: 0 !important; color: var(--aisa-muted) !important; font-size: 12.5px !important; font-weight: 600 !important; }
.aisa .aisa-img-chip > button { display: inline-flex !important; flex: none !important; padding: 4px 9px !important; border-radius: 8px !important; color: var(--aisa-muted) !important; font-size: 11.5px !important; font-weight: 600 !important; }
.aisa .aisa-shot { display: block !important; max-width: 84% !important; margin: 0 0 4px !important; }
.aisa .aisa-shot img { display: block !important; max-width: 100% !important; max-height: 220px !important; border-radius: 14px 6px 14px 14px !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08), 0 4px 12px rgba(14, 15, 26, .08) !important; }
.aisa .aisa-msg--user .aisa-shot { align-self: flex-end !important; }
.aisa--theme-dark .aisa-img-chip { box-shadow: 0 0 0 1px rgba(255, 255, 255, .08) !important; }

/* ---------- Account / billing button under a reply ---------- */
.aisa .aisa-account-btn { display: inline-flex !important; align-items: center !important; gap: 10px !important; max-width: 100% !important; padding: 8px 12px 8px 8px !important; border-radius: 14px !important; background: var(--aisa-surface) !important; color: var(--aisa-ink) !important; font-size: 13.5px !important; font-weight: 650 !important; text-decoration: none !important; box-shadow: 0 0 0 1px var(--aisa-line), 0 1px 2px rgba(14, 15, 26, .05) !important; transition: transform .15s ease, box-shadow .15s ease !important; }
.aisa .aisa-account-btn > svg:first-child { width: 30px !important; height: 30px !important; padding: 6px !important; box-sizing: border-box !important; border-radius: 9px !important; background: var(--aisa-tint) !important; color: var(--aisa-accent) !important; flex: none !important; }
.aisa .aisa-account-btn > svg:last-child { width: 14px !important; height: 14px !important; color: var(--aisa-muted) !important; flex: none !important; }
.aisa .aisa-account-btn span { display: block !important; flex: 1 !important; min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.aisa .aisa-account-btn:hover { transform: translateY(-1px) !important; box-shadow: 0 0 0 1px var(--aisa-accent), 0 6px 16px rgba(14, 15, 26, .08) !important; }

/* ---------- "Attach site info" request under a reply ---------- */
.aisa .aisa-site-btn { display: inline-flex !important; align-items: center !important; gap: 10px !important; max-width: 100% !important; padding: 8px 12px 8px 8px !important; border-radius: 14px !important; background: var(--aisa-tint) !important; color: var(--aisa-ink) !important; text-align: left !important; box-shadow: 0 0 0 1px var(--aisa-ring) !important; transition: background .15s ease, transform .15s ease !important; }
.aisa .aisa-site-btn:hover { background: var(--aisa-tint-2) !important; transform: translateY(-1px) !important; }
.aisa .aisa-site-btn > svg { width: 30px !important; height: 30px !important; padding: 6px !important; box-sizing: border-box !important; border-radius: 9px !important; background: var(--aisa-surface) !important; color: var(--aisa-accent) !important; flex: none !important; }
.aisa .aisa-site-btn > span { display: flex !important; flex-direction: column !important; gap: 1px !important; min-width: 0 !important; }
.aisa .aisa-site-btn b { display: block !important; font-size: 13.5px !important; font-weight: 650 !important; line-height: 1.3 !important; }
.aisa .aisa-site-btn small { display: block !important; font-size: 11px !important; line-height: 1.3 !important; color: var(--aisa-muted) !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }

/* ---------- Identity row above the composer ---------- */
.aisa .aisa-identity[hidden], .aisa .aisa-identity.is-hidden { display: none !important; }
.aisa .aisa-identity.is-revealed { animation: aisa-in .2s ease-out !important; }
.aisa .aisa-identity { display: flex !important; align-items: center !important; gap: 6px !important; flex: none !important; margin: 0 14px 8px !important; }
.aisa .aisa-identity input { display: block !important; flex: 1 !important; min-width: 0 !important; height: 32px !important; padding: 0 10px !important; border-radius: 10px !important; background: var(--aisa-surface) !important; color: var(--aisa-ink) !important; font-family: var(--aisa-font) !important; font-size: 12.5px !important; font-weight: 400 !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .07) !important; transition: box-shadow .15s ease !important; }
.aisa .aisa-identity input:focus { box-shadow: 0 0 0 3px var(--aisa-ring) !important; outline: 0 !important; }
.aisa .aisa-version { display: inline-flex !important; flex: none !important; padding: 3px !important; border-radius: 10px !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .07) !important; }
.aisa .aisa-version button { display: inline-flex !important; align-items: center !important; height: 26px !important; padding: 0 9px !important; border-radius: 8px !important; color: var(--aisa-muted) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .02em !important; transition: background .15s ease, color .15s ease !important; }
.aisa .aisa-version button.is-active { background: linear-gradient(135deg, var(--aisa-accent), var(--aisa-deep)) !important; color: #fff !important; }
.aisa .aisa-version button:not(.is-active):hover { color: var(--aisa-ink) !important; }
.aisa--theme-dark .aisa-identity input, .aisa--theme-dark .aisa-version { box-shadow: 0 0 0 1px rgba(255, 255, 255, .08) !important; }
@media (max-width: 600px) { .aisa .aisa-identity { flex-wrap: wrap !important; } .aisa .aisa-identity input { flex: 1 1 40% !important; } .aisa .aisa-version { margin-left: auto !important; } }

/* ---------- Version switch at the top of the Contact tab ---------- */
.aisa .aisa-contact-version { display: block !important; flex: none !important; margin: 0 18px 12px !important; }
.aisa .aisa-contact-version > span { display: block !important; font-size: 12px !important; font-weight: 600 !important; color: var(--aisa-muted) !important; }
.aisa .aisa-version--wide { display: flex !important; width: 100% !important; padding: 4px !important; border-radius: 12px !important; }
.aisa .aisa-version--wide button { flex: 1 !important; justify-content: center !important; height: 32px !important; font-size: 12.5px !important; letter-spacing: 0 !important; border-radius: 9px !important; }

/* ---------- Free-version panel on the Contact tab ---------- */
.aisa .aisa-free-panel { display: block !important; flex: none !important; margin: 4px 18px 18px !important; padding: 18px 18px 16px !important; border-radius: 16px !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .06), 0 4px 14px rgba(14, 15, 26, .05) !important; }
.aisa .aisa-free-panel > svg { display: block !important; width: 34px !important; height: 34px !important; padding: 7px !important; box-sizing: border-box !important; margin-bottom: 10px !important; border-radius: 10px !important; background: var(--aisa-tint) !important; color: var(--aisa-accent) !important; }
.aisa .aisa-free-panel strong { display: block !important; font-size: 15px !important; font-weight: 700 !important; letter-spacing: -.01em !important; margin-bottom: 6px !important; }
.aisa .aisa-free-panel p { display: block !important; margin: 0 0 10px !important; font-size: 13px !important; line-height: 1.5 !important; color: var(--aisa-muted) !important; }
.aisa .aisa-free-panel ol { display: block !important; margin: 0 0 14px !important; padding-left: 20px !important; font-size: 13px !important; line-height: 1.5 !important; }
.aisa .aisa-free-panel li { margin: 4px 0 !important; }
.aisa .aisa-free-link { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; width: 100% !important; text-decoration: none !important; }
.aisa .aisa-free-link svg { width: 16px !important; height: 16px !important; }
.aisa .aisa-free-panel small { display: block !important; margin-top: 10px !important; font-size: 11.5px !important; color: var(--aisa-muted) !important; text-align: center !important; }
.aisa .aisa-free-panel[hidden], .aisa .aisa-form[hidden] { display: none !important; }

/* ---------- Free-version forum notice ---------- */
.aisa .aisa-forum-notice { display: flex !important; align-items: flex-start !important; gap: 8px !important; flex: none !important; margin: 0 18px 10px !important; padding: 10px 12px !important; border-radius: 12px !important; background: var(--aisa-tint) !important; color: var(--aisa-ink) !important; font-size: 12.5px !important; line-height: 1.45 !important; }
.aisa .aisa-forum-notice > svg { width: 16px !important; height: 16px !important; flex: none !important; margin-top: 2px !important; color: var(--aisa-accent) !important; }
.aisa .aisa-forum-notice span { display: block !important; }
.aisa .aisa-forum-notice a { color: var(--aisa-accent) !important; font-weight: 600 !important; text-decoration: underline !important; overflow-wrap: anywhere !important; }
.aisa a.aisa-contact-btn, .aisa a.aisa-human { text-decoration: none !important; cursor: pointer !important; }

/* ---------- Contact form attachments ---------- */
.aisa .aisa-cattach { display: block !important; flex: 0 0 auto !important; width: 100% !important; padding: 10px 12px !important; border-radius: 13px !important; background: var(--aisa-surface) !important; box-shadow: 0 1px 2px rgba(14, 15, 26, .04), 0 0 0 1px rgba(14, 15, 26, .06) !important; }
.aisa .aisa-cattach-head { display: block !important; margin-bottom: 8px !important; font-size: 12px !important; font-weight: 600 !important; color: var(--aisa-muted) !important; }
.aisa .aisa-cattach-items { display: flex !important; flex-direction: column !important; gap: 6px !important; margin-top: 8px !important; }
.aisa .aisa-cattach { padding: 8px 10px !important; }
.aisa .aisa-cattach-items[hidden] { display: none !important; }
.aisa .aisa-cattach-item { display: flex !important; align-items: center !important; gap: 8px !important; padding: 5px 6px !important; border-radius: 10px !important; background: var(--aisa-canvas) !important; font-size: 12.5px !important; font-weight: 500 !important; color: var(--aisa-ink) !important; }
.aisa .aisa-cattach-item img { display: block !important; width: 34px !important; height: 34px !important; object-fit: cover !important; border-radius: 7px !important; flex: none !important; }
.aisa .aisa-cattach-item > svg { width: 18px !important; height: 18px !important; margin: 0 4px !important; color: var(--aisa-accent) !important; }
.aisa .aisa-cattach-item > span { display: block !important; flex: 1 !important; min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.aisa .aisa-cattach-item > button { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 24px !important; height: 24px !important; border-radius: 7px !important; color: var(--aisa-muted) !important; font-size: 16px !important; line-height: 1 !important; }
.aisa .aisa-cattach-item > button:hover { background: rgba(14, 15, 26, .08) !important; color: var(--aisa-ink) !important; }
.aisa .aisa-cattach-toggle { display: inline-flex !important; align-items: center !important; flex: none !important; font-size: 11.5px !important; font-weight: 500 !important; color: var(--aisa-muted) !important; cursor: pointer !important; }
.aisa .aisa-cattach-item.is-off { opacity: .55 !important; }
.aisa .aisa-cattach-actions { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
.aisa .aisa-cattach-btn { display: inline-flex !important; align-items: center !important; gap: 6px !important; padding: 7px 11px 7px 9px !important; border-radius: 9px !important; background: var(--aisa-canvas) !important; color: var(--aisa-ink) !important; font-size: 12.5px !important; font-weight: 600 !important; transition: background .15s ease !important; }
.aisa .aisa-cattach-btn:hover { background: var(--aisa-tint) !important; color: var(--aisa-accent) !important; }
.aisa .aisa-cattach-btn svg { width: 16px !important; height: 16px !important; }
.aisa .aisa-cattach-btn[hidden] { display: none !important; }
.aisa .aisa-cattach .aisa-site-panel { margin: 8px 0 0 !important; max-height: none !important; overflow: visible !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08) !important; }
.aisa--theme-dark .aisa-cattach { box-shadow: 0 0 0 1px rgba(255, 255, 255, .08) !important; }

/* ---------- Site info attachment ---------- */
.aisa .aisa-tools { display: flex !important; align-items: center !important; gap: 2px !important; flex: none !important; margin: 0 2px 3px 0 !important; }
.aisa .aisa-composer.has-tools { padding-left: 6px !important; }
.aisa .aisa-attach { display: flex !important; align-items: center !important; justify-content: center !important; width: 30px !important; height: 30px !important; flex: none !important; margin: 0 !important; border-radius: 9px !important; color: var(--aisa-muted) !important; opacity: .85 !important; transition: color .15s ease, background .15s ease, opacity .15s ease !important; }
.aisa .aisa-attach svg { width: 19px !important; height: 19px !important; }
.aisa .aisa-attach:hover { color: var(--aisa-ink) !important; background: var(--aisa-canvas) !important; opacity: 1 !important; }
.aisa .aisa-attach.is-on { color: var(--aisa-accent) !important; background: var(--aisa-tint) !important; opacity: 1 !important; }
.aisa .aisa-site-chip { display: flex !important; align-items: center !important; gap: 6px !important; flex: none !important; margin: 0 14px 8px !important; padding: 6px 8px 6px 10px !important; border-radius: 12px !important; background: var(--aisa-tint) !important; color: var(--aisa-accent) !important; font-size: 12px !important; font-weight: 600 !important; }
.aisa .aisa-site-chip svg { width: 14px !important; height: 14px !important; flex: none !important; }
.aisa .aisa-site-chip span { display: block !important; flex: 1 !important; min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.aisa .aisa-site-chip button { display: inline-flex !important; padding: 3px 8px !important; border-radius: 8px !important; color: var(--aisa-accent) !important; font-size: 11.5px !important; font-weight: 600 !important; }
.aisa .aisa-site-chip button:hover { background: rgba(255, 255, 255, .5) !important; }
.aisa .aisa-site-panel { display: block !important; flex: none !important; margin: 0 14px 10px !important; padding: 12px 14px !important; border-radius: 16px !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .06), 0 4px 14px rgba(14, 15, 26, .06) !important; }
.aisa .aisa-site-panel strong { display: block !important; font-size: 13.5px !important; font-weight: 700 !important; margin-bottom: 4px !important; }
.aisa .aisa-site-panel p { display: block !important; margin: 0 0 8px !important; font-size: 12px !important; line-height: 1.45 !important; color: var(--aisa-muted) !important; }
.aisa .aisa-site-url { display: flex !important; flex-direction: column !important; gap: 5px !important; margin: 6px 0 6px !important; font-size: 12px !important; font-weight: 600 !important; color: var(--aisa-ink) !important; }
.aisa .aisa-site-url > span:first-child { display: block !important; }
.aisa .aisa-site-url-row { display: flex !important; align-items: stretch !important; gap: 6px !important; }
.aisa .aisa-site-url input { display: block !important; flex: 1 !important; min-width: 0 !important; height: 36px !important; padding: 0 11px !important; border-radius: 10px !important; background: var(--aisa-canvas) !important; color: var(--aisa-ink) !important; font-family: var(--aisa-font) !important; font-size: 13.5px !important; font-weight: 400 !important; }
.aisa .aisa-site-url input:focus { box-shadow: 0 0 0 3px var(--aisa-ring) !important; outline: 0 !important; }
.aisa .aisa-site-open { display: inline-flex !important; align-items: center !important; gap: 6px !important; flex: none !important; padding: 0 12px 0 10px !important; border-radius: 10px !important; background: linear-gradient(135deg, var(--aisa-accent), var(--aisa-deep)) !important; color: #fff !important; font-size: 12.5px !important; font-weight: 650 !important; white-space: nowrap !important; text-decoration: none !important; }
.aisa .aisa-site-open svg { width: 15px !important; height: 15px !important; }
.aisa .aisa-site-open span { display: inline !important; }
.aisa .aisa-site-open[hidden], .aisa .aisa-site-openhint[hidden] { display: none !important; }
.aisa .aisa-site-openhint { margin-bottom: 10px !important; }
.aisa .aisa-site-panel { max-height: min(62vh, 440px) !important; overflow-y: auto !important; overflow-x: hidden !important; }
.aisa .aisa-site-ctx { display: block !important; margin: 10px 0 2px !important; padding: 0 !important; width: 100% !important; }
.aisa .aisa-site-ctx > *:not(summary) { box-sizing: border-box !important; }
.aisa .aisa-site-ctx option { color: #14151a !important; background: #fff !important; }
.aisa .aisa-site-ctx summary { display: flex !important; align-items: center !important; gap: 6px !important; width: 100% !important; padding: 6px 0 !important; cursor: pointer !important; font-size: 12px !important; font-weight: 600 !important; color: var(--aisa-accent) !important; list-style: none !important; user-select: none !important; }
.aisa .aisa-site-ctx summary::-webkit-details-marker { display: none !important; }
.aisa .aisa-site-ctx summary::before { content: "" !important; display: inline-block !important; width: 6px !important; height: 6px !important; flex: none !important; border-right: 2px solid currentColor !important; border-bottom: 2px solid currentColor !important; transform: rotate(-45deg) !important; margin-right: 2px !important; transition: transform .15s ease !important; }
.aisa .aisa-site-ctx[open] summary::before { transform: rotate(45deg) !important; }
.aisa .aisa-site-ctx[open] summary { margin-bottom: 6px !important; }
.aisa .aisa-site-ctx label { display: flex !important; flex-direction: column !important; gap: 3px !important; width: 100% !important; margin: 0 0 8px !important; padding: 0 !important; font-size: 11.5px !important; font-weight: 600 !important; color: var(--aisa-muted) !important; }
.aisa .aisa-site-ctx label > span { display: block !important; }
.aisa .aisa-site-ctx input, .aisa .aisa-site-ctx select { display: block !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; height: 34px !important; margin: 0 !important; padding: 0 10px !important; border-radius: 9px !important; background: var(--aisa-canvas) !important; color: var(--aisa-ink) !important; font-family: var(--aisa-font) !important; font-size: 13px !important; font-weight: 400 !important; appearance: auto !important; -webkit-appearance: auto !important; }
.aisa .aisa-site-ctx input:focus, .aisa .aisa-site-ctx select:focus { box-shadow: 0 0 0 3px var(--aisa-ring) !important; outline: 0 !important; }
.aisa .aisa-site-panel textarea { display: block !important; width: 100% !important; min-height: 84px !important; padding: 8px 10px !important; border-radius: 10px !important; background: var(--aisa-canvas) !important; color: var(--aisa-ink) !important; font-family: var(--aisa-mono) !important; font-size: 11.5px !important; line-height: 1.4 !important; resize: vertical !important; }
.aisa .aisa-site-panel textarea:focus { box-shadow: 0 0 0 3px var(--aisa-ring) !important; outline: 0 !important; }
.aisa .aisa-site-actions { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 6px !important; margin-top: 8px !important; }
.aisa .aisa-site-status { display: block !important; flex: 1 !important; font-size: 12px !important; color: var(--aisa-muted) !important; }
.aisa .aisa-site-status.is-error { color: #9a2f22 !important; }
.aisa .aisa-site-cancel { display: inline-flex !important; padding: 7px 10px !important; border-radius: 9px !important; color: var(--aisa-muted) !important; font-size: 12.5px !important; font-weight: 600 !important; }
.aisa .aisa-site-cancel:hover { background: rgba(14, 15, 26, .06) !important; color: var(--aisa-ink) !important; }
.aisa .aisa-site-attach { display: inline-flex !important; align-items: center !important; gap: 5px !important; padding: 7px 12px 7px 9px !important; border-radius: 9px !important; background: linear-gradient(135deg, var(--aisa-accent), var(--aisa-deep)) !important; color: #fff !important; font-size: 12.5px !important; font-weight: 650 !important; }
.aisa .aisa-site-attach svg { width: 14px !important; height: 14px !important; }
.aisa .aisa-site-attach:disabled { opacity: .6 !important; }
.aisa .aisa-site-panel[hidden], .aisa .aisa-site-chip[hidden], .aisa .aisa-check-site[hidden] { display: none !important; }
.aisa--theme-dark .aisa-site-panel { box-shadow: 0 0 0 1px rgba(255, 255, 255, .08) !important; }

/* ---------- Redaction notice under a masked visitor message ---------- */
.aisa .aisa-redacted { display: inline-flex !important; align-items: center !important; gap: 5px !important; align-self: flex-end !important; margin-top: 2px !important; padding: 3px 9px 3px 7px !important; border-radius: 999px !important; background: #fff7ed !important; color: #9a3412 !important; font-size: 11px !important; font-weight: 600 !important; }
.aisa .aisa-redacted svg { width: 12px !important; height: 12px !important; stroke-width: 2.5 !important; }
.aisa .aisa-redacted span { display: inline !important; }
.aisa--theme-dark .aisa-redacted { background: #3a2a12 !important; color: #fbbf24 !important; }

/* ---------- Reply footer: "Need a human?" + feedback ---------- */
.aisa .aisa-reply-foot { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 8px !important; width: 100% !important; margin: 24px 0 0 !important; }
.aisa .aisa-fb { display: inline-flex !important; align-items: center !important; gap: 2px !important; margin-left: auto !important; }
.aisa .aisa-fb-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 26px !important; height: 26px !important; border-radius: 8px !important; color: var(--aisa-muted) !important; opacity: .7 !important; transition: color .15s ease, background .15s ease, opacity .15s ease !important; }
.aisa .aisa-fb-btn svg { width: 14px !important; height: 14px !important; }
.aisa .aisa-fb-btn:hover { color: var(--aisa-ink) !important; background: var(--aisa-tint) !important; opacity: 1 !important; }
.aisa .aisa-fb.is-rated .aisa-fb-btn { pointer-events: none !important; opacity: .35 !important; }
.aisa .aisa-fb.is-up .aisa-fb-up, .aisa .aisa-fb.is-down .aisa-fb-down { color: var(--aisa-accent) !important; background: var(--aisa-tint) !important; opacity: 1 !important; }
.aisa .aisa-fb.is-down .aisa-fb-down { color: #b45309 !important; background: #fff7ed !important; }
.aisa .aisa-fb-thanks { display: inline !important; margin-left: 4px !important; font-size: 11px !important; color: var(--aisa-muted) !important; white-space: nowrap !important; }
.aisa .aisa-fb-form { display: block !important; width: 100% !important; margin-top: 8px !important; padding: 10px !important; border-radius: 12px !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08) !important; }
.aisa .aisa-fb-form textarea { display: block !important; width: 100% !important; min-height: 44px !important; padding: 8px 10px !important; border-radius: 10px !important; background: var(--aisa-canvas) !important; color: var(--aisa-ink) !important; font-family: var(--aisa-font) !important; font-size: 13px !important; line-height: 1.4 !important; resize: none !important; }
.aisa .aisa-fb-form textarea:focus { box-shadow: 0 0 0 3px var(--aisa-ring) !important; outline: 0 !important; }
.aisa .aisa-fb-actions { display: flex !important; justify-content: flex-end !important; gap: 6px !important; margin-top: 8px !important; }
.aisa .aisa-fb-skip { display: inline-flex !important; padding: 6px 10px !important; border-radius: 8px !important; color: var(--aisa-muted) !important; font-size: 12.5px !important; font-weight: 600 !important; }
.aisa .aisa-fb-skip:hover { background: rgba(14, 15, 26, .06) !important; color: var(--aisa-ink) !important; }
.aisa .aisa-fb-send { display: inline-flex !important; padding: 6px 12px !important; border-radius: 8px !important; background: var(--aisa-accent) !important; color: #fff !important; font-size: 12.5px !important; font-weight: 650 !important; }
.aisa--theme-dark .aisa-fb-form { box-shadow: 0 0 0 1px rgba(255, 255, 255, .08) !important; }
.aisa--theme-dark .aisa-fb.is-down .aisa-fb-down { background: #3a2a12 !important; color: #fbbf24 !important; }

/* ---------- "Need a human?" link under replies ---------- */
.aisa .aisa-human { display: inline-flex !important; align-items: center !important; gap: 5px !important; flex: none !important; margin: 0 !important; padding: 3px 8px 3px 6px !important; border-radius: 999px !important; background: transparent !important; color: var(--aisa-muted) !important; font-size: 11.5px !important; font-weight: 500 !important; line-height: 1.3 !important; transition: color .15s ease, background .15s ease !important; }
.aisa .aisa-human svg { width: 13px !important; height: 13px !important; stroke-width: 2.2 !important; }
.aisa .aisa-human span { display: inline !important; }
.aisa .aisa-human:hover { color: var(--aisa-accent) !important; background: var(--aisa-tint) !important; }
.aisa .aisa-typing .aisa-human { display: none !important; }
.aisa .aisa-human.is-busy { color: var(--aisa-accent) !important; cursor: progress !important; }
.aisa .aisa-human.is-busy svg { animation: aisa-pulse 1s ease-in-out infinite !important; }
@keyframes aisa-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* ---------- Logo ---------- */
.aisa .aisa-avatar.has-logo { background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08), 0 6px 16px rgba(14, 15, 26, .08) !important; overflow: visible !important; }
.aisa .aisa-avatar img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: inherit !important; position: relative !important; z-index: 1 !important; }
.aisa .aisa-mark img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: inherit !important; }
.aisa .aisa-mark:has(img) { background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08) !important; overflow: hidden !important; }

/* ---------- Category row scrolling ---------- */
.aisa .aisa-cats { position: relative !important; cursor: grab !important; }
.aisa .aisa-cats.is-dragging { cursor: grabbing !important; }
.aisa .aisa-cats.is-dragging .aisa-cat { pointer-events: none !important; }
.aisa .aisa-cats.fade-right { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent) !important; mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent) !important; }
.aisa .aisa-cats.fade-left { -webkit-mask-image: linear-gradient(to right, transparent, #000 36px) !important; mask-image: linear-gradient(to right, transparent, #000 36px) !important; }
.aisa .aisa-cats.fade-left.fade-right { -webkit-mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent) !important; mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent) !important; }

/* ---------- Hidden always wins ---------- */
.aisa [hidden], .aisa .aisa-panel[hidden], .aisa .aisa-tabs[hidden], .aisa .aisa-pane[hidden], .aisa .aisa-docs-list[hidden], .aisa .aisa-reader[hidden] { display: none !important; }

/* ---------- Small screens: full-screen sheet ---------- */
html.aisa-lock, html.aisa-lock body { overflow: hidden !important; overscroll-behavior: none !important; }
@media (max-width: 600px) {
	.aisa { bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important; }
	.aisa--right { right: calc(14px + env(safe-area-inset-right, 0px)) !important; }
	.aisa--left { left: calc(14px + env(safe-area-inset-left, 0px)) !important; }
	.aisa .aisa-launcher { height: 52px !important; min-width: 52px !important; }
	.aisa--open { inset: 0 !important; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; }
	.aisa--open .aisa-panel {
		width: 100vw !important;
		max-width: 100vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		max-height: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		animation: aisa-up .22s cubic-bezier(.2, .8, .3, 1) !important;
	}
	.aisa--tabs-top .aisa-tabs { padding-top: calc(6px + env(safe-area-inset-top, 0px)) !important; }
	.aisa--tabs-header .aisa-head, .aisa--tabs-bottom .aisa-head { padding-top: calc(18px + env(safe-area-inset-top, 0px)) !important; }
	.aisa--tabs-bottom .aisa-tabs { padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px)) !important; }
	.aisa .aisa-panel { padding-bottom: env(safe-area-inset-bottom, 0px) !important; }
	.aisa .aisa-composer { margin: 0 12px !important; }
	.aisa .aisa-log, .aisa .aisa-results { padding-left: 14px !important; padding-right: 14px !important; }
	.aisa .aisa-form { padding-left: 14px !important; padding-right: 14px !important; }
	.aisa .aisa-bubble { max-width: 100% !important; }
	.aisa .aisa-msg--user .aisa-bubble { max-width: 90% !important; }
	/* 16px inputs stop iOS zooming the page when a field is focused. */
	.aisa .aisa-input, .aisa .aisa-search input, .aisa .aisa-form input[type="text"], .aisa .aisa-form input[type="email"], .aisa .aisa-form textarea { font-size: 16px !important; }
	.aisa .aisa-article { padding: 14px 16px 24px !important; }
}
@keyframes aisa-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
/* Short viewports (landscape phones, small laptops): let the panel shrink instead of clipping. */
@media (min-width: 601px) and (max-height: 720px) {
	.aisa .aisa-panel { height: calc(100vh - 44px) !important; height: calc(100dvh - 44px) !important; }
}
@media (prefers-reduced-motion: reduce) {
	.aisa--open .aisa-panel { animation: none !important; }
}

/* A little more air between the sender row and the message */
.aisa .aisa-who { margin-bottom: 6px !important; }

/* ---------- Embedded (inline) mode ---------- */
.aisa-inline-host { display: block; width: 100%; min-height: 200px; }
.aisa.aisa--inline { position: relative !important; inset: auto !important; bottom: auto !important; right: auto !important; left: auto !important; width: 100% !important; z-index: 1 !important; }
.aisa.aisa--inline .aisa-launcher { display: none !important; }
.aisa.aisa--inline .aisa-panel { position: relative !important; width: 100% !important; max-width: none !important; height: var(--aisa-inline-h, 560px) !important; max-height: none !important; bottom: auto !important; right: auto !important; left: auto !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08), 0 10px 30px rgba(14, 15, 26, .06) !important; animation: none !important; }
.aisa.aisa--inline .aisa-close { display: none !important; }
@media (max-width: 600px) { .aisa.aisa--inline .aisa-panel { position: relative !important; height: var(--aisa-inline-h, 520px) !important; inset: auto !important; border-radius: var(--aisa-radius) !important; } }
.aisa .aisa-consent { display: block !important; margin-top: 3px !important; }
.aisa .aisa-consent a { color: var(--aisa-muted) !important; text-decoration: underline !important; }

/* Streaming reply: blinking caret while text arrives */
.aisa .aisa-msg--live .aisa-bubble > *:last-child::after { content: "" !important; display: inline-block !important; width: 6px !important; height: 14px !important; margin-left: 3px !important; vertical-align: -2px !important; background: var(--aisa-accent) !important; border-radius: 2px !important; animation: aisa-caret 1s steps(2, start) infinite !important; }
@keyframes aisa-caret { to { visibility: hidden; } }

/* ---------- Review request card ---------- */
.aisa .aisa-review { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 8px !important; margin: 4px 0 16px !important; padding: 16px 18px !important; border-radius: 16px !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08), 0 6px 18px rgba(14, 15, 26, .06) !important; text-align: center !important; animation: aisa-in .25s ease-out !important; }
.aisa .aisa-review-stars { color: #f5b301 !important; font-size: 18px !important; letter-spacing: 2px !important; line-height: 1 !important; }
.aisa .aisa-review p { margin: 0 !important; font-size: 13.5px !important; line-height: 1.45 !important; color: var(--aisa-ink) !important; }
.aisa .aisa-review-actions { display: flex !important; align-items: center !important; gap: 10px !important; margin-top: 4px !important; }
.aisa .aisa-review-go { display: inline-flex !important; align-items: center !important; padding: 9px 16px !important; border-radius: 12px !important; background: linear-gradient(135deg, var(--aisa-accent), var(--aisa-deep)) !important; color: #fff !important; font-size: 13.5px !important; font-weight: 650 !important; text-decoration: none !important; }
.aisa .aisa-review-later { display: inline-flex !important; padding: 8px 10px !important; border-radius: 10px !important; color: var(--aisa-muted) !important; font-size: 13px !important; font-weight: 600 !important; }
.aisa .aisa-review-later:hover { color: var(--aisa-ink) !important; background: var(--aisa-canvas) !important; }

/* ---------- Code blocks with copy ---------- */
.aisa .aisa-codeblock { position: relative !important; margin: 8px 0 !important; }
.aisa .aisa-codeblock pre { margin: 0 !important; padding-top: 30px !important; }
.aisa .aisa-lang { position: absolute !important; top: 7px !important; left: 12px !important; font-family: var(--aisa-mono) !important; font-size: 10.5px !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: rgba(233, 234, 242, .55) !important; }
.aisa .aisa-copy { position: absolute !important; top: 5px !important; right: 6px !important; padding: 3px 9px !important; border-radius: 7px !important; background: rgba(255, 255, 255, .12) !important; color: #e9eaf2 !important; font-size: 11px !important; font-weight: 600 !important; cursor: pointer !important; }
.aisa .aisa-copy:hover { background: rgba(255, 255, 255, .22) !important; }

/* Tab labels never wrap; with four tabs the text shrinks a little */
.aisa .aisa-tab span { white-space: nowrap !important; }
.aisa .aisa-tabs:has(> .aisa-tab:nth-child(4)) .aisa-tab { padding-left: 8px !important; padding-right: 8px !important; font-size: 12.5px !important; gap: 5px !important; }
.aisa .aisa-tabs:has(> .aisa-tab:nth-child(4)) .aisa-tab svg { width: 15px !important; height: 15px !important; }
.aisa .aisa-tabs:has(> .aisa-tab:nth-child(4)) .aisa-tab.is-active { padding-left: 10px !important; padding-right: 10px !important; }


/* ---------- Code disclaimer box at the top of replies that contain code ---------- */
.aisa .aisa-codenote { display: flex !important; gap: 10px !important; align-items: flex-start !important; margin: 0 0 12px !important; padding: 10px 12px !important; border-radius: 12px !important; background: #fff8e6 !important; border-left: 3px solid #f59e0b !important; box-shadow: 0 0 0 1px rgba(245, 158, 11, .25) !important; color: #7c4a03 !important; }
.aisa .aisa-codenote > svg { width: 18px !important; height: 18px !important; flex: none !important; margin-top: 1px !important; color: #d97706 !important; }
.aisa .aisa-codenote > div { display: flex !important; flex-direction: column !important; gap: 2px !important; min-width: 0 !important; }
.aisa .aisa-codenote strong { font-size: 12px !important; font-weight: 700 !important; letter-spacing: .02em !important; text-transform: uppercase !important; color: #92400e !important; }
.aisa .aisa-codenote span { font-size: 12.5px !important; line-height: 1.45 !important; color: #7c4a03 !important; }
.aisa--theme-dark .aisa-codenote { background: #3a2a12 !important; box-shadow: 0 0 0 1px rgba(245, 158, 11, .35) !important; }
.aisa--theme-dark .aisa-codenote strong { color: #fcd34d !important; }
.aisa--theme-dark .aisa-codenote span { color: #fde68a !important; }

/* Progress label next to the typing dots while tools run */
.aisa .aisa-typing .aisa-bubble { display: inline-flex !important; align-items: center !important; gap: 4px !important; }
.aisa .aisa-status { margin-left: 8px !important; font-size: 12.5px !important; color: var(--aisa-muted) !important; }

/* Spend-cap note shown in the docs/contact pane when the AI tab is hidden */
.aisa .aisa-cap-note { display: flex !important; gap: 10px !important; align-items: flex-start !important; margin: 0 0 12px !important; padding: 10px 12px !important; border-radius: 12px !important; background: var(--aisa-tint) !important; box-shadow: 0 0 0 1px var(--aisa-ring) !important; font-size: 12.5px !important; line-height: 1.45 !important; color: var(--aisa-ink) !important; }
.aisa .aisa-cap-note svg { width: 16px !important; height: 16px !important; flex: none !important; margin-top: 2px !important; color: var(--aisa-accent) !important; }
.aisa .aisa-tab[hidden] { display: none !important; }

/* ---------- Feature request cards ---------- */
.aisa .aisa-fr { display: flex !important; flex-direction: column !important; gap: 8px !important; margin: -4px 0 16px !important; padding: 14px !important; border-radius: 14px !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08), 0 6px 18px rgba(14, 15, 26, .06) !important; animation: aisa-in .25s ease-out !important; }
.aisa .aisa-fr-label { font-size: 13.5px !important; font-weight: 650 !important; color: var(--aisa-ink) !important; line-height: 1.4 !important; }
.aisa .aisa-fr label { display: flex !important; flex-direction: column !important; gap: 4px !important; font-size: 12px !important; color: var(--aisa-muted) !important; }
.aisa .aisa-fr input[type="text"], .aisa .aisa-fr input[type="email"], .aisa .aisa-fr textarea { width: 100% !important; box-sizing: border-box !important; padding: 8px 10px !important; border-radius: 10px !important; background: var(--aisa-canvas) !important; color: var(--aisa-ink) !important; font: inherit !important; font-size: 13.5px !important; box-shadow: inset 0 0 0 1px var(--aisa-line) !important; }
.aisa .aisa-fr input:focus, .aisa .aisa-fr textarea:focus { outline: none !important; box-shadow: 0 0 0 3px var(--aisa-ring) !important; }
.aisa .aisa-fr textarea { resize: vertical !important; min-height: 64px !important; }
.aisa .aisa-fr .aisa-hp { position: absolute !important; left: -9999px !important; }
.aisa .aisa-fr-actions { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; }
.aisa .aisa-fr-actions .aisa-primary { padding: 8px 14px !important; border-radius: 10px !important; font-size: 13px !important; }
.aisa .aisa-fr-no, .aisa .aisa-fr-skip { padding: 8px 10px !important; border-radius: 10px !important; color: var(--aisa-muted) !important; font-size: 13px !important; font-weight: 600 !important; }
.aisa .aisa-fr-no:hover, .aisa .aisa-fr-skip:hover { color: var(--aisa-ink) !important; background: var(--aisa-canvas) !important; }
.aisa .aisa-fr-status { font-size: 12px !important; color: var(--aisa-muted) !important; }
.aisa .aisa-fr-ok { display: inline-flex !important; align-items: center !important; gap: 8px !important; color: #15803d !important; font-weight: 650 !important; font-size: 13.5px !important; }
.aisa .aisa-fr-ok svg { width: 16px !important; height: 16px !important; }
.aisa .aisa-fr-view, .aisa .aisa-fr-item a { display: inline-flex !important; align-items: center !important; gap: 5px !important; align-self: flex-start !important; font-size: 12.5px !important; font-weight: 600 !important; color: var(--aisa-accent) !important; text-decoration: none !important; }
.aisa .aisa-fr-view svg, .aisa .aisa-fr-item a svg { width: 13px !important; height: 13px !important; }
.aisa .aisa-fr-item { display: flex !important; flex-direction: column !important; gap: 3px !important; padding: 10px 12px !important; border-radius: 10px !important; background: var(--aisa-canvas) !important; }
.aisa .aisa-fr-item strong { font-size: 13.5px !important; color: var(--aisa-ink) !important; }
.aisa .aisa-fr-item em { font-style: normal !important; font-size: 12px !important; color: var(--aisa-muted) !important; }
.aisa .aisa-fr-claim { display: flex !important; flex-direction: column !important; gap: 8px !important; margin-top: 6px !important; padding-top: 10px !important; border-top: 1px solid var(--aisa-line) !important; }
.aisa .aisa-fr-claim > span { font-size: 12.5px !important; color: var(--aisa-muted) !important; line-height: 1.4 !important; }
.aisa .aisa-fr-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 6px !important; }
.aisa .aisa-fr-follow { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 6px !important; font-size: 12.5px !important; color: var(--aisa-ink) !important; }

.aisa .aisa-fr-preview { display: flex !important; flex-direction: column !important; gap: 3px !important; padding: 10px 12px !important; border-radius: 10px !important; background: var(--aisa-canvas) !important; }
.aisa .aisa-fr-preview strong { font-size: 13.5px !important; color: var(--aisa-ink) !important; }
.aisa .aisa-fr-preview span { font-size: 12.5px !important; line-height: 1.45 !important; color: var(--aisa-muted) !important; }
.aisa .aisa-fr-yes { display: inline-flex !important; align-items: center !important; gap: 7px !important; }
.aisa .aisa-fr-yes svg { width: 15px !important; height: 15px !important; }
.aisa .aisa-fr-step2 { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.aisa .aisa-fr-step2[hidden], .aisa .aisa-fr-preview[hidden], .aisa .aisa-fr-step1[hidden] { display: none !important; }

/* ---------- Reader mode: bigger panel while a doc is open, with a size toggle ---------- */
.aisa .aisa-size[hidden] { display: none !important; }
.aisa .aisa-panel { transition: width .25s ease, height .25s ease !important; }
.aisa.aisa--reading.aisa--wide .aisa-panel { width: min(calc(var(--aisa-w, 400px) * 1.5), calc(100vw - 44px)) !important; height: min(calc(var(--aisa-h, 660px) * 1.35), calc(100vh - 44px)) !important; }
.aisa.aisa--reading.aisa--wide .aisa-reader { padding-left: 24px !important; padding-right: 24px !important; }
.aisa.aisa--reading.aisa--wide .aisa-reader .aisa-article { font-size: 15px !important; }
@media (max-width: 600px) { .aisa .aisa-size { display: none !important; } }

/* ---------- Changelog tab ---------- */
.aisa .aisa-pane-changelog:not([hidden]) { display: flex !important; flex-direction: column !important; overflow: hidden !important; }
.aisa .aisa-pane-changelog[hidden] { display: none !important; }
.aisa .aisa-cl-list { flex: 1 1 auto !important; min-height: 0 !important; height: auto !important; overflow-y: auto !important; padding: 14px 14px 4px !important; display: block !important; }
.aisa .aisa-cl-entry { display: block !important; position: static !important; height: auto !important; max-height: none !important; overflow: visible !important; margin: 0 0 12px !important; padding: 14px 14px 10px !important; border-radius: 16px !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .06), 0 4px 14px rgba(14, 15, 26, .04) !important; box-sizing: border-box !important; }
.aisa .aisa-cl-head { display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 8px !important; margin: 0 0 10px !important; }
.aisa .aisa-cl-version { display: inline-flex !important; align-items: center !important; padding: 3px 10px !important; border-radius: 999px !important; background: linear-gradient(135deg, var(--aisa-accent), var(--aisa-deep)) !important; color: #fff !important; font-family: var(--aisa-mono) !important; font-size: 12.5px !important; font-weight: 700 !important; letter-spacing: .02em !important; line-height: 1.4 !important; }
.aisa .aisa-cl-latest { display: inline-flex !important; padding: 2px 8px !important; border-radius: 999px !important; background: #dcfce7 !important; color: #15803d !important; font-size: 10.5px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .06em !important; line-height: 1.5 !important; }
.aisa .aisa-cl-date { display: inline-flex !important; align-items: center !important; padding: 3px 9px !important; border-radius: 999px !important; background: var(--aisa-canvas) !important; box-shadow: inset 0 0 0 1px var(--aisa-line) !important; font-size: 11.5px !important; font-weight: 600 !important; color: var(--aisa-muted) !important; white-space: nowrap !important; line-height: 1.4 !important; }
.aisa .aisa-cl-items { display: block !important; }
.aisa .aisa-cl-item { display: block !important; margin: 0 0 7px !important; font-size: 13px !important; line-height: 1.5 !important; color: var(--aisa-ink) !important; }
.aisa .aisa-cl-item:last-child { margin-bottom: 0 !important; }
.aisa .aisa-cl-type, .aisa .aisa-cl-pro { display: inline-block !important; vertical-align: 1px !important; margin: 0 6px 0 0 !important; padding: 1px 7px !important; border-radius: 6px !important; font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .04em !important; text-transform: uppercase !important; white-space: nowrap !important; line-height: 1.5 !important; background: var(--aisa-canvas) !important; color: var(--aisa-muted) !important; }
.aisa .aisa-cl-type.is-new { background: #dcfce7 !important; color: #15803d !important; }
.aisa .aisa-cl-type.is-fix { background: #fee2e2 !important; color: #b91c1c !important; }
.aisa .aisa-cl-type.is-improvement { background: #dbeafe !important; color: #1d4ed8 !important; }
.aisa .aisa-cl-type.is-security { background: #fef3c7 !important; color: #b45309 !important; }
.aisa .aisa-cl-type.is-removed { background: #f3f4f6 !important; color: #4b5563 !important; }
.aisa .aisa-cl-type.is-dev { background: #ede9fe !important; color: #6d28d9 !important; }
.aisa .aisa-cl-pro { background: var(--aisa-tint) !important; color: var(--aisa-accent) !important; }
.aisa .aisa-cl-text { display: inline !important; }
.aisa .aisa-cl-ask { position: static !important; display: block !important; margin: 0 0 0 auto !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
.aisa .aisa-cl-ask .aisa-ask-buttons { margin: 0 !important; }
.aisa .aisa-cl-ask .aisa-ask-open { padding: 5px 9px !important; font-size: 12px !important; gap: 5px !important; }
.aisa .aisa-cl-ask .aisa-ask-open svg { width: 13px !important; height: 13px !important; }
.aisa .aisa-cl-form { margin: 0 0 10px !important; }
.aisa .aisa-cl-foot { flex: none !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; padding: 10px 14px 14px !important; }
.aisa .aisa-cl-more { padding: 8px 12px !important; border-radius: 10px !important; background: var(--aisa-surface) !important; color: var(--aisa-ink) !important; font-size: 13px !important; font-weight: 600 !important; box-shadow: 0 0 0 1px var(--aisa-line) !important; cursor: pointer !important; }
.aisa .aisa-cl-more:hover { box-shadow: 0 0 0 1px var(--aisa-accent) !important; }
.aisa .aisa-cl-full { display: inline-flex !important; align-items: center !important; gap: 5px !important; margin-left: auto !important; font-size: 12.5px !important; font-weight: 600 !important; color: var(--aisa-accent) !important; text-decoration: none !important; }
.aisa .aisa-cl-full svg { width: 13px !important; height: 13px !important; }
.aisa--theme-dark .aisa-cl-latest { background: #14532d !important; color: #86efac !important; }

/* Four tabs: no icons, widths follow the label, nothing truncated */
.aisa .aisa-tabs:has(> .aisa-tab:nth-child(4)) .aisa-tab { flex: 1 1 auto !important; min-width: 0 !important; padding-left: 8px !important; padding-right: 8px !important; font-size: 12.5px !important; gap: 0 !important; }
/* Icons return when the tab strip has room (enlarged panel, wide screens) */
.aisa .aisa-tabs { container-type: inline-size !important; }
@container (max-width: 400px) { .aisa .aisa-tabs:has(> .aisa-tab:nth-child(4)) .aisa-tab svg { display: none !important; } }
@container (min-width: 400.1px) { .aisa .aisa-tabs:has(> .aisa-tab:nth-child(4)) .aisa-tab { gap: 6px !important; font-size: 13px !important; padding-left: 10px !important; padding-right: 10px !important; } .aisa .aisa-tabs:has(> .aisa-tab:nth-child(4)) .aisa-tab svg { display: inline-block !important; width: 15px !important; height: 15px !important; } }
.aisa .aisa-tabs:has(> .aisa-tab:nth-child(4)) .aisa-tab span { overflow: visible !important; text-overflow: clip !important; }

/* Docs tab: category chips wrap onto lines instead of scrolling sideways */
.aisa .aisa-cats { flex-wrap: wrap !important; overflow: visible !important; cursor: default !important; row-gap: 6px !important; }
.aisa .aisa-cats::after { display: none !important; }
/* Changelog tab: same top spacing as the other tabs */
.aisa .aisa-cl-list { padding-top: 4px !important; }

/* ---------- Optional page backdrop while the widget is open ---------- */
.aisa-backdrop { position: fixed !important; inset: 0 !important; z-index: 2147483000 !important; background: rgba(14, 15, 26, .35) !important; -webkit-backdrop-filter: blur(6px) !important; backdrop-filter: blur(6px) !important; opacity: 0 !important; pointer-events: none !important; transition: opacity .25s ease !important; }
.aisa-backdrop.is-on { opacity: 1 !important; pointer-events: auto !important; }
.aisa-backdrop { z-index: 2147483640 !important; }

/* ---------- Optional bubble for the assistant's replies ---------- */
.aisa--agent-bubble .aisa-msg--assistant .aisa-bubble { width: auto !important; max-width: 100% !important; padding: 10px 14px !important; border-radius: 4px 16px 16px 16px !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .06), 0 1px 3px rgba(14, 15, 26, .04) !important; box-sizing: border-box !important; }
.aisa--agent-bubble .aisa-msg--assistant .aisa-bubble > *:first-child { margin-top: 0 !important; }
.aisa--agent-bubble .aisa-msg--assistant .aisa-bubble > *:last-child { margin-bottom: 0 !important; }
.aisa--agent-bubble .aisa-msg--assistant.aisa-typing .aisa-bubble { display: inline-flex !important; width: auto !important; }
.aisa--agent-bubble .aisa-msg--assistant.aisa-msg--error .aisa-bubble { background: #fff1ee !important; }
.aisa--agent-bubble.aisa--theme-dark .aisa-msg--assistant .aisa-bubble { background: rgba(255, 255, 255, .06) !important; box-shadow: 0 0 0 1px rgba(255, 255, 255, .08) !important; }

/* ================= Design options ================= */
/* text size */
.aisa .aisa-bubble, .aisa .aisa-article, .aisa .aisa-doc-item, .aisa .aisa-input, .aisa .aisa-form input, .aisa .aisa-form textarea, .aisa .aisa-cl-item { font-size: var(--aisa-size, 14px) !important; }
/* panel shadow */
.aisa--shadow-none .aisa-panel { box-shadow: 0 0 0 1px rgba(14, 15, 26, .08) !important; }
.aisa--shadow-strong .aisa-panel { box-shadow: 0 40px 100px rgba(14, 15, 26, .38), 0 0 0 1px rgba(14, 15, 26, .06) !important; }
/* header elements */
.aisa--no-logo .aisa-avatar { display: none !important; }
.aisa--no-subtitle .aisa-intro { display: none !important; }
.aisa--no-dot .aisa-dot { display: none !important; }
/* tabs */
.aisa--no-tab-icons .aisa-tab svg { display: none !important; }
/* messages */
.aisa--no-avatar .aisa-msg--assistant .aisa-mark { display: none !important; }
.aisa--no-sender .aisa-msg--assistant .aisa-who-name { display: none !important; }
.aisa--no-sender.aisa--no-avatar .aisa-msg--assistant .aisa-who { display: none !important; }
.aisa .aisa-time { display: inline-block !important; margin: 0 6px !important; font-size: 10.5px !important; color: var(--aisa-muted) !important; opacity: .8 !important; }
.aisa--bradius-soft .aisa-msg--user .aisa-bubble, .aisa--bradius-soft.aisa--agent-bubble .aisa-msg--assistant .aisa-bubble { border-radius: 10px !important; }
.aisa--bradius-square .aisa-msg--user .aisa-bubble, .aisa--bradius-square.aisa--agent-bubble .aisa-msg--assistant .aisa-bubble { border-radius: 4px !important; }
.aisa--bubble-custom .aisa-msg--user .aisa-bubble { background: var(--aisa-bubble-bg) !important; color: var(--aisa-bubble-fg, #fff) !important; box-shadow: none !important; }
.aisa--bubble-custom .aisa-msg--user .aisa-bubble a, .aisa--bubble-custom .aisa-msg--user .aisa-bubble code { color: inherit !important; }
/* send button with label */
.aisa--send-label .aisa-send { width: auto !important; padding: 0 14px 0 12px !important; gap: 6px !important; border-radius: 12px !important; font-size: 13px !important; font-weight: 650 !important; }
.aisa--send-label .aisa-send span { display: inline !important; color: #fff !important; }
/* launcher colour + pulse + mobile */
.aisa--launcher-dark .aisa-launcher { background: var(--aisa-ink) !important; color: #fff !important; }
.aisa--launcher-light .aisa-launcher { background: var(--aisa-surface) !important; color: var(--aisa-ink) !important; box-shadow: 0 8px 24px rgba(14, 15, 26, .16), 0 0 0 1px rgba(14, 15, 26, .06) !important; }
.aisa--launcher-light .aisa-launcher svg { color: var(--aisa-accent) !important; }
.aisa--pulse .aisa-launcher { animation: aisa-pulse 2.4s ease-out infinite !important; }
@keyframes aisa-pulse { 0% { box-shadow: 0 10px 30px rgba(14, 15, 26, .2), 0 0 0 0 var(--aisa-ring); } 70% { box-shadow: 0 10px 30px rgba(14, 15, 26, .2), 0 0 0 14px transparent; } 100% { box-shadow: 0 10px 30px rgba(14, 15, 26, .2), 0 0 0 0 transparent; } }
@media (max-width: 600px) { .aisa--no-mobile-launcher:not(.aisa--open) { display: none !important; } }
/* animations off */
.aisa--no-anim, .aisa--no-anim * { animation: none !important; transition: none !important; }

/* Changelog: each version header sticks to the top of the list while its changes scroll under it */
.aisa .aisa-cl-list { position: relative !important; }
.aisa .aisa-cl-entry { overflow: visible !important; }
.aisa .aisa-cl-head { position: sticky !important; top: -4px !important; z-index: 2 !important; margin: -14px -14px 10px !important; padding: 12px 14px 10px !important; background: var(--aisa-surface) !important; border-radius: 16px 16px 0 0 !important; box-shadow: 0 1px 0 var(--aisa-line) !important; }
.aisa .aisa-cl-form { position: relative !important; z-index: 1 !important; }

/* Message box size */
.aisa .aisa-input { min-height: var(--aisa-input-min, 38px) !important; max-height: max(160px, calc(var(--aisa-input-min, 38px) + 60px)) !important; }

/* Taller message box: centre the placeholder while empty (single line of text is 22px tall) */
.aisa .aisa-input.is-empty { padding-top: max(8px, calc((var(--aisa-input-min, 38px) - 22px) / 2)) !important; padding-bottom: max(8px, calc((var(--aisa-input-min, 38px) - 22px) / 2)) !important; }

/* Taller message box: buttons centre while empty, drop to the bottom row once text wraps */
.aisa .aisa-composer.is-empty { align-items: center !important; }
.aisa .aisa-composer.is-empty .aisa-tools { margin-bottom: 0 !important; }
.aisa.aisa--no-tab-icons .aisa-tabs .aisa-tab svg { display: none !important; }

/* Header logo: no online dot, slightly rounder */
.aisa .aisa-avatar .aisa-dot { display: none !important; }
.aisa .aisa-avatar, .aisa .aisa-avatar img { border-radius: 14px !important; }

/* ---------- Latest posts carousel in the Changelog tab ---------- */
.aisa .aisa-cl-posts { display: block !important; margin: 0 0 16px !important; }
.aisa .aisa-cl-posts-head { display: flex !important; align-items: center !important; justify-content: space-between !important; margin: 0 0 8px !important; }
.aisa .aisa-cl-posts-head > span { font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: var(--aisa-muted) !important; }
.aisa .aisa-cl-posts-nav { display: none !important; gap: 4px !important; }
.aisa .aisa-cl-posts.is-scrollable .aisa-cl-posts-nav { display: flex !important; }
.aisa .aisa-cl-posts-nav button { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 26px !important; height: 26px !important; border-radius: 8px !important; background: var(--aisa-surface) !important; color: var(--aisa-ink) !important; box-shadow: 0 0 0 1px var(--aisa-line) !important; cursor: pointer !important; }
.aisa .aisa-cl-posts-nav button:disabled { opacity: .35 !important; cursor: default !important; }
.aisa .aisa-cl-posts-nav button svg { width: 14px !important; height: 14px !important; }
.aisa .aisa-cl-posts-nav .aisa-cl-next svg { transform: rotate(180deg) !important; }
.aisa .aisa-cl-track { display: grid !important; grid-auto-flow: column !important; grid-auto-columns: calc((100% - 20px) / 3) !important; gap: 10px !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; scrollbar-width: none !important; padding: 2px !important; margin: -2px !important; }
.aisa .aisa-cl-track::-webkit-scrollbar { display: none !important; }
.aisa .aisa-cl-post { display: flex !important; flex-direction: column !important; scroll-snap-align: start !important; border-radius: 14px !important; overflow: hidden !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .06), 0 4px 14px rgba(14, 15, 26, .05) !important; text-decoration: none !important; color: inherit !important; transition: transform .15s ease, box-shadow .15s ease !important; }
.aisa .aisa-cl-post:hover { transform: translateY(-2px) !important; box-shadow: 0 0 0 1px var(--aisa-accent), 0 10px 22px rgba(14, 15, 26, .1) !important; }
.aisa .aisa-cl-post-body { display: flex !important; flex-direction: column !important; gap: 4px !important; padding: 9px 10px 10px !important; }
.aisa .aisa-cl-post-body strong { font-size: 12.5px !important; line-height: 1.3 !important; color: var(--aisa-ink) !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.aisa .aisa-cl-post-body span { font-size: 11.5px !important; line-height: 1.4 !important; color: var(--aisa-muted) !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.aisa .aisa-cl-post-body em { font-style: normal !important; font-size: 10.5px !important; color: var(--aisa-muted) !important; margin-top: auto !important; }
@media (max-width: 600px) { .aisa .aisa-cl-track { grid-auto-columns: calc((100% - 10px) / 2) !important; } }

/* ---------- Changelog tab: latest posts carousel ---------- */
.aisa .aisa-cl-posts { flex: none !important; padding: 12px 14px 4px !important; }
.aisa .aisa-cl-posts[hidden] { display: none !important; }
.aisa .aisa-cl-posts-head { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important; margin: 0 0 8px !important; }
.aisa .aisa-cl-posts-head > span:first-child { font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--aisa-muted) !important; }
.aisa .aisa-cl-nav { display: flex !important; gap: 4px !important; }
.aisa .aisa-cl-nav button { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 26px !important; height: 26px !important; padding: 0 !important; border-radius: 8px !important; background: var(--aisa-surface) !important; color: var(--aisa-muted) !important; box-shadow: 0 0 0 1px var(--aisa-line) !important; cursor: pointer !important; }
.aisa .aisa-cl-nav button:hover:not(:disabled) { color: var(--aisa-accent) !important; box-shadow: 0 0 0 1px var(--aisa-accent) !important; }
.aisa .aisa-cl-nav button:disabled { opacity: .35 !important; cursor: default !important; }
.aisa .aisa-cl-nav svg { width: 14px !important; height: 14px !important; }
.aisa .aisa-cl-track { display: grid !important; grid-auto-flow: column !important; grid-auto-columns: calc((100% - 16px) / 3) !important; gap: 8px !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; scrollbar-width: none !important; padding-bottom: 2px !important; }
.aisa .aisa-cl-track::-webkit-scrollbar { display: none !important; }
.aisa .aisa-cl-post { display: flex !important; flex-direction: column !important; scroll-snap-align: start !important; border-radius: 14px !important; overflow: hidden !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .06), 0 3px 10px rgba(14, 15, 26, .05) !important; text-decoration: none !important; transition: transform .15s ease, box-shadow .15s ease !important; }
.aisa .aisa-cl-post:hover { transform: translateY(-2px) !important; box-shadow: 0 0 0 1px var(--aisa-accent), 0 8px 20px rgba(14, 15, 26, .08) !important; }
.aisa .aisa-cl-post-img { display: block !important; height: 68px !important; background-color: var(--aisa-tint) !important; background-position: center !important; background-size: cover !important; background-repeat: no-repeat !important; }
.aisa .aisa-cl-post-body { display: flex !important; flex-direction: column !important; gap: 3px !important; padding: 8px 10px 10px !important; }
.aisa .aisa-cl-post-date { font-size: 10.5px !important; color: var(--aisa-muted) !important; }
.aisa .aisa-cl-post strong { font-size: 12.5px !important; line-height: 1.3 !important; color: var(--aisa-ink) !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.aisa .aisa-cl-post-ex { font-size: 11.5px !important; line-height: 1.4 !important; color: var(--aisa-muted) !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }

/* ---------- Loading state (docs list and article reader) ---------- */
.aisa .aisa-loader { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 12px !important; padding: 46px 18px !important; animation: aisa-fade-in .2s ease-out !important; }
.aisa .aisa-loader-ring { display: block !important; width: 30px !important; height: 30px !important; border-radius: 50% !important; border: 3px solid var(--aisa-ring) !important; border-top-color: var(--aisa-accent) !important; animation: aisa-spin .7s linear infinite !important; }
.aisa .aisa-loader-text { font-size: 13.5px !important; font-weight: 600 !important; color: var(--aisa-muted) !important; letter-spacing: .01em !important; }
@keyframes aisa-spin { to { transform: rotate(360deg); } }
@keyframes aisa-fade-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .aisa .aisa-loader-ring { animation-duration: 2s !important; } }

/* Header logo: clip the image to the rounded corners */
.aisa .aisa-avatar, .aisa .aisa-avatar.has-logo { border-radius: 14px !important; overflow: hidden !important; }
.aisa .aisa-avatar.has-logo img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; border-radius: 14px !important; }

/* Attached screenshots: fixed, cropped previews instead of full-size images */
.aisa .aisa-shot { display: flex !important; flex-wrap: wrap !important; justify-content: flex-end !important; gap: 6px !important; max-width: 84% !important; margin: 0 0 6px !important; }
.aisa .aisa-shot img { display: block !important; width: 132px !important; height: 96px !important; max-width: 132px !important; max-height: 96px !important; object-fit: cover !important; object-position: top center !important; border-radius: 12px !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .08), 0 4px 12px rgba(14, 15, 26, .08) !important; cursor: zoom-in !important; }
.aisa .aisa-shot--multi img { width: 96px !important; height: 72px !important; max-width: 96px !important; max-height: 72px !important; }

/* Changelog: tighter posts strip, image on top, section heading for releases */
.aisa .aisa-cl-posts { padding: 6px 14px 0 !important; }
.aisa .aisa-cl-posts-head { margin-bottom: 6px !important; }
.aisa .aisa-cl-post { flex-direction: column !important; }
.aisa .aisa-cl-post-img { order: -1 !important; height: 78px !important; background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; }
.aisa .aisa-cl-post-body { padding: 8px 10px 10px !important; }
.aisa .aisa-cl-heading { position: sticky !important; top: -4px !important; z-index: 3 !important; margin: 4px 0 8px !important; padding: 4px 0 8px !important; background: var(--aisa-canvas) !important; }
.aisa .aisa-cl-heading span { font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--aisa-muted) !important; }

/* Screenshot previews: hard bounds so theme image rules cannot stretch them */
.aisa .aisa-shot { box-sizing: border-box !important; width: auto !important; max-width: 100% !important; overflow: hidden !important; }
.aisa .aisa-shot > img, .aisa .aisa-msg .aisa-shot img { box-sizing: border-box !important; width: 132px !important; min-width: 0 !important; max-width: 132px !important; height: 96px !important; min-height: 0 !important; max-height: 96px !important; margin: 0 !important; padding: 0 !important; object-fit: cover !important; object-position: top center !important; aspect-ratio: auto !important; }
.aisa .aisa-shot--multi > img, .aisa .aisa-msg .aisa-shot--multi img { width: 96px !important; max-width: 96px !important; height: 72px !important; max-height: 72px !important; }
.aisa .aisa-img-thumb > img { width: 44px !important; max-width: 44px !important; height: 44px !important; max-height: 44px !important; object-fit: cover !important; }
.aisa .aisa-cattach-item > img { width: 34px !important; max-width: 34px !important; height: 34px !important; max-height: 34px !important; object-fit: cover !important; }

/* Post cards: image band on top, fixed height, cropped */
.aisa .aisa-cl-post-img { display: block !important; width: 100% !important; height: 78px !important; min-height: 78px !important; aspect-ratio: auto !important; background-color: var(--aisa-tint) !important; background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; }
.aisa .aisa-cl-post-img.is-empty, .aisa .aisa-cl-post-img--empty { background-image: linear-gradient(135deg, var(--aisa-tint-2), var(--aisa-tint)) !important; }
.aisa .aisa-cl-post-img[style*="background-image"] { background-color: transparent !important; }

/* Thumbnail wrappers clip their contents */
.aisa .aisa-img-thumb { overflow: visible !important; width: 44px !important; height: 44px !important; }
.aisa .aisa-img-thumbs { flex-wrap: wrap !important; max-width: 100% !important; }
.aisa .aisa-cattach-item img { flex: none !important; }

/* Attachment chip: hard bounds regardless of theme rules or image size */
.aisa .aisa-img-chip { max-width: calc(100% - 28px) !important; overflow: hidden !important; }
.aisa .aisa-img-thumbs { flex-wrap: wrap !important; max-width: 100% !important; overflow: hidden !important; }
.aisa .aisa-img-thumb { position: relative !important; display: block !important; box-sizing: border-box !important; width: 44px !important; height: 44px !important; min-width: 44px !important; min-height: 44px !important; max-width: 44px !important; max-height: 44px !important; flex: none !important; overflow: visible !important; }
.aisa .aisa-img-thumb > img { position: absolute !important; inset: 0 !important; width: 44px !important; height: 44px !important; max-width: 44px !important; max-height: 44px !important; object-fit: cover !important; }

/* Posts strip scrolls with the list; only version headers stay sticky */
.aisa .aisa-cl-posts { position: static !important; padding: 4px 0 14px !important; }
.aisa .aisa-cl-list > .aisa-cl-posts { margin: 0 !important; }
.aisa .aisa-cl-heading { position: static !important; margin: 0 0 10px !important; padding: 0 !important; background: transparent !important; }

/* Suggested questions: idea icon before the text */
.aisa .aisa-chip { display: inline-flex !important; align-items: center !important; gap: 7px !important; text-align: left !important; }
.aisa .aisa-chip > svg { width: 15px !important; height: 15px !important; flex: none !important; color: var(--aisa-accent) !important; opacity: .9 !important; }
.aisa .aisa-chip > span { display: inline !important; }

/* Post cards: room for the hover lift and the first card's outline */
.aisa .aisa-cl-track { padding: 4px 2px 6px !important; margin: -4px -2px -6px !important; scroll-padding-left: 2px !important; }
.aisa .aisa-cl-post { will-change: transform !important; }


/* ---------- Review bar above the message box ---------- */
.aisa .aisa-reviewbar { display: flex !important; align-items: center !important; gap: 10px !important; flex: none !important; margin: 0 14px 8px !important; padding: 8px 8px 8px 14px !important; border-radius: 14px !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .06), 0 6px 18px rgba(14, 15, 26, .07) !important; animation: aisa-bar-in .28s cubic-bezier(.2, .9, .3, 1.2) !important; }
@keyframes aisa-bar-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.aisa .aisa-reviewbar-text { flex: 1 !important; min-width: 0 !important; font-size: 13px !important; font-weight: 600 !important; color: var(--aisa-ink) !important; line-height: 1.35 !important; }
.aisa .aisa-stars { display: inline-flex !important; align-items: center !important; gap: 1px !important; flex: none !important; }
.aisa .aisa-star { display: inline-flex !important; padding: 2px !important; color: #d8dae2 !important; cursor: pointer !important; transition: color .12s ease, transform .12s ease !important; }
.aisa .aisa-star svg { width: 17px !important; height: 17px !important; }
.aisa .aisa-star:hover { transform: scale(1.12) !important; }
.aisa .aisa-reviewbar[data-hover="1"] .aisa-star[data-n="1"], .aisa .aisa-reviewbar[data-hover="2"] .aisa-star[data-n="1"], .aisa .aisa-reviewbar[data-hover="2"] .aisa-star[data-n="2"], .aisa .aisa-reviewbar[data-hover="3"] .aisa-star[data-n="1"], .aisa .aisa-reviewbar[data-hover="3"] .aisa-star[data-n="2"], .aisa .aisa-reviewbar[data-hover="3"] .aisa-star[data-n="3"], .aisa .aisa-reviewbar[data-hover="4"] .aisa-star[data-n="1"], .aisa .aisa-reviewbar[data-hover="4"] .aisa-star[data-n="2"], .aisa .aisa-reviewbar[data-hover="4"] .aisa-star[data-n="3"], .aisa .aisa-reviewbar[data-hover="4"] .aisa-star[data-n="4"], .aisa .aisa-reviewbar[data-hover="5"] .aisa-star, .aisa .aisa-reviewbar.is-done .aisa-star { color: #f5b301 !important; }
.aisa .aisa-reviewbar-go { display: inline-flex !important; align-items: center !important; height: 30px !important; padding: 0 12px !important; border-radius: 10px !important; background: linear-gradient(135deg, var(--aisa-accent), var(--aisa-deep)) !important; color: #fff !important; font-size: 12.5px !important; font-weight: 650 !important; text-decoration: none !important; white-space: nowrap !important; }
.aisa .aisa-reviewbar-x { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 24px !important; height: 24px !important; border-radius: 8px !important; color: var(--aisa-muted) !important; font-size: 17px !important; line-height: 1 !important; cursor: pointer !important; }
.aisa .aisa-reviewbar-x:hover { background: var(--aisa-canvas) !important; color: var(--aisa-ink) !important; }
.aisa .aisa-reviewbar.is-done { background: #ecfdf5 !important; }
@media (max-width: 420px) { .aisa .aisa-reviewbar-go { display: none !important; } }

/* Review bar: five stars filled by default, and clear space below it */
.aisa .aisa-reviewbar { margin-bottom: 12px !important; }
.aisa .aisa-reviewbar.is-preset .aisa-star { color: #f5b301 !important; }
.aisa .aisa-reviewbar.is-preset[data-hover="1"] .aisa-star[data-n="2"], .aisa .aisa-reviewbar.is-preset[data-hover="1"] .aisa-star[data-n="3"], .aisa .aisa-reviewbar.is-preset[data-hover="1"] .aisa-star[data-n="4"], .aisa .aisa-reviewbar.is-preset[data-hover="1"] .aisa-star[data-n="5"], .aisa .aisa-reviewbar.is-preset[data-hover="2"] .aisa-star[data-n="3"], .aisa .aisa-reviewbar.is-preset[data-hover="2"] .aisa-star[data-n="4"], .aisa .aisa-reviewbar.is-preset[data-hover="2"] .aisa-star[data-n="5"], .aisa .aisa-reviewbar.is-preset[data-hover="3"] .aisa-star[data-n="4"], .aisa .aisa-reviewbar.is-preset[data-hover="3"] .aisa-star[data-n="5"], .aisa .aisa-reviewbar.is-preset[data-hover="4"] .aisa-star[data-n="5"] { color: #d8dae2 !important; }

/* "Speak to a human" button in the empty chat */
.aisa .aisa-human { display: inline-flex !important; align-items: center !important; gap: 8px !important; align-self: flex-start !important; margin: 4px 0 0 !important; padding: 9px 14px !important; border-radius: 12px !important; background: var(--aisa-surface) !important; color: var(--aisa-ink) !important; font-size: 13px !important; font-weight: 600 !important; box-shadow: 0 0 0 1px var(--aisa-line) !important; cursor: pointer !important; transition: box-shadow .15s ease, color .15s ease !important; }
.aisa .aisa-human:hover { color: var(--aisa-accent) !important; box-shadow: 0 0 0 1px var(--aisa-accent) !important; }
.aisa .aisa-human svg { width: 16px !important; height: 16px !important; color: var(--aisa-accent) !important; }


/* Post reader: same container as the docs reader; only the hero image and date are extra */
.aisa .aisa-pane-changelog.is-reading > .aisa-cl-list, .aisa .aisa-pane-changelog.is-reading > .aisa-cl-foot { display: none !important; }
.aisa .aisa-cl-reader[hidden] { display: none !important; }
.aisa .aisa-article-hero { display: block !important; width: 100% !important; height: 150px !important; object-fit: cover !important; border-radius: 12px !important; margin: 0 0 14px !important; }
.aisa .aisa-article-date { margin: -8px 0 14px !important; font-size: 12.5px !important; color: var(--aisa-muted) !important; }

/* Contact form heading, matching the free-version panel's title */
.aisa .aisa-form-title { display: block !important; margin: 0 0 6px !important; font-size: 15px !important; font-weight: 700 !important; letter-spacing: -.01em !important; color: var(--aisa-ink) !important; }
.aisa .aisa-form-title + .aisa-form-intro { margin-top: 0 !important; }

/* Contact tab: human support card above the form */
.aisa .aisa-human-card { display: flex !important; align-items: center !important; gap: 12px !important; margin: 0 0 14px !important; padding: 12px 14px !important; border-radius: 16px !important; background: var(--aisa-tint) !important; box-shadow: inset 0 0 0 1px var(--aisa-ring) !important; }
.aisa .aisa-human-photo { display: block !important; width: 48px !important; height: 48px !important; min-width: 48px !important; max-width: 48px !important; max-height: 48px !important; flex: none !important; border-radius: 50% !important; object-fit: cover !important; background: var(--aisa-surface) !important; box-shadow: 0 2px 8px rgba(14, 15, 26, .12) !important; }
.aisa .aisa-human-photo--icon { display: inline-flex !important; align-items: center !important; justify-content: center !important; color: var(--aisa-accent) !important; }
.aisa .aisa-human-photo--icon svg { width: 22px !important; height: 22px !important; }
.aisa .aisa-human-copy { display: flex !important; flex-direction: column !important; gap: 3px !important; min-width: 0 !important; }
.aisa .aisa-human-copy strong { font-size: 15px !important; font-weight: 700 !important; letter-spacing: -.01em !important; color: var(--aisa-ink) !important; }
.aisa .aisa-human-copy span { font-size: 12.5px !important; line-height: 1.45 !important; color: var(--aisa-muted) !important; }

/* Support card photo: always a circle, whatever the theme does to images */
.aisa .aisa-human-card .aisa-human-photo, .aisa .aisa-human-card img.aisa-human-photo { border-radius: 50% !important; overflow: hidden !important; aspect-ratio: 1 / 1 !important; width: 48px !important; height: 48px !important; min-width: 48px !important; min-height: 48px !important; max-width: 48px !important; max-height: 48px !important; object-fit: cover !important; object-position: center !important; padding: 0 !important; border: 0 !important; }

/* Contact form: bolder labels (matching the card heading) and roomier spacing */
.aisa .aisa-form { gap: 16px !important; padding-bottom: 18px !important; }
.aisa .aisa-form label { gap: 7px !important; font-size: 15px !important; font-weight: 700 !important; letter-spacing: -.01em !important; color: var(--aisa-ink) !important; }
.aisa .aisa-form label span { padding-left: 2px !important; }
.aisa .aisa-form input, .aisa .aisa-form textarea, .aisa .aisa-form select { padding: 11px 14px !important; font-size: 14px !important; }
.aisa .aisa-form textarea { min-height: 120px !important; }
.aisa .aisa-form .aisa-primary { margin-top: 4px !important; min-height: 46px !important; }
.aisa .aisa-human-card { margin-bottom: 18px !important; }

/* Slightly tighter gap between the support card and the first field */
.aisa .aisa-human-card { margin-bottom: 10px !important; }
.aisa .aisa-form-intro { margin-bottom: 2px !important; }

/* Changelog tab: blog post header (featured image, date, title) */
.aisa .aisa-post-hero { display: block !important; margin: 0 -4px 16px !important; padding: 0 !important; border-radius: 16px !important; overflow: hidden !important; background: var(--aisa-tint) !important; box-shadow: 0 6px 18px rgba(14, 15, 26, .10) !important; }
.aisa .aisa-post-hero img { display: block !important; width: 100% !important; height: 160px !important; max-height: 160px !important; object-fit: cover !important; object-position: center !important; margin: 0 !important; border-radius: 0 !important; }
.aisa .aisa-post-head { display: flex !important; flex-direction: column !important; gap: 8px !important; margin: 0 0 16px !important; padding: 0 0 14px !important; border-bottom: 1px solid var(--aisa-line) !important; }
.aisa .aisa-post-date { display: inline-flex !important; align-items: center !important; gap: 6px !important; align-self: flex-start !important; padding: 4px 10px !important; border-radius: 999px !important; background: var(--aisa-tint) !important; font-size: 11.5px !important; font-weight: 650 !important; letter-spacing: .01em !important; color: var(--aisa-accent) !important; }
.aisa .aisa-post-date svg { width: 13px !important; height: 13px !important; }
.aisa .aisa-article--post .aisa-post-head h2 { margin: 0 !important; font-size: 21px !important; font-weight: 750 !important; line-height: 1.25 !important; letter-spacing: -.02em !important; color: var(--aisa-ink) !important; }
.aisa .aisa-article--post > p:first-of-type { font-size: 14.5px !important; }

/* A touch less space between the support card and the first field */
.aisa .aisa-human-card { margin-bottom: 4px !important; }

/* Post header: natural-height featured image, date under the title */
.aisa .aisa-post-hero { margin: 0 0 16px !important; border-radius: 14px !important; box-shadow: none !important; background: transparent !important; }
.aisa .aisa-post-hero img { width: 100% !important; height: auto !important; max-height: none !important; object-fit: contain !important; border-radius: 14px !important; }
.aisa .aisa-post-head { gap: 6px !important; }
.aisa .aisa-post-head h2 { order: 1 !important; }
.aisa .aisa-post-date { order: 2 !important; padding: 0 !important; background: transparent !important; color: var(--aisa-muted) !important; font-size: 12px !important; font-weight: 500 !important; }
.aisa .aisa-post-date svg { width: 12.5px !important; height: 12.5px !important; opacity: .85 !important; }

/* Post header: date pill on the left, title beside it */
.aisa .aisa-post-head { flex-direction: row !important; align-items: center !important; flex-wrap: wrap !important; gap: 10px !important; }
.aisa .aisa-post-head h2 { order: 2 !important; flex: 1 1 60% !important; min-width: 0 !important; }
.aisa .aisa-post-date { order: 1 !important; flex: none !important; align-self: center !important; padding: 5px 11px !important; border-radius: 999px !important; background: var(--aisa-tint) !important; box-shadow: inset 0 0 0 1px var(--aisa-ring) !important; color: var(--aisa-accent) !important; font-size: 11.5px !important; font-weight: 650 !important; white-space: nowrap !important; }
.aisa .aisa-post-date svg { width: 13px !important; height: 13px !important; opacity: 1 !important; }

/* Date pill sits inline at the start of the title's first line; later lines run full width */
.aisa .aisa-post-head { display: block !important; }
.aisa .aisa-post-head h2 { display: block !important; }
.aisa .aisa-post-head .aisa-post-date { display: inline-flex !important; align-items: center !important; gap: 6px !important; float: left !important; margin: 3px 10px 2px 0 !important; vertical-align: middle !important; }
.aisa .aisa-post-head::after { content: "" !important; display: block !important; clear: both !important; }

/* Date pill on its own line under the title */
.aisa .aisa-post-head { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
.aisa .aisa-post-head h2 { order: 1 !important; }
.aisa .aisa-post-head .aisa-post-date { order: 2 !important; float: none !important; margin: 0 !important; align-self: flex-start !important; }

/* Date pill icon: fixed box, no theme fill/stroke inheritance issues */
.aisa .aisa-post-date > svg { display: block !important; width: 13px !important; height: 13px !important; min-width: 13px !important; min-height: 13px !important; max-width: 13px !important; max-height: 13px !important; flex: none !important; margin: 0 !important; padding: 0 !important; fill: none !important; stroke: currentColor !important; stroke-width: 2 !important; vertical-align: middle !important; overflow: visible !important; }
.aisa .aisa-post-date > svg * { fill: none !important; stroke: currentColor !important; }

/* Empty chat: suggested questions centred, one per row */
.aisa .aisa-log.is-empty-state { display: flex !important; flex-direction: column !important; }
.aisa .aisa-starter { display: flex !important; flex: 1 1 auto !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 10px !important; padding: 18px 6px 10px !important; text-align: center !important; }
.aisa .aisa-starter-label { display: block !important; font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .09em !important; text-transform: uppercase !important; color: var(--aisa-muted) !important; opacity: .85 !important; }
.aisa .aisa-starter .aisa-chips { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 8px !important; width: 100% !important; max-width: 320px !important; margin: 0 !important; }
.aisa .aisa-starter .aisa-chip { width: 100% !important; justify-content: flex-start !important; text-align: left !important; }
.aisa .aisa-starter .aisa-human { align-self: center !important; margin-top: 6px !important; }

/* Example question chips hug their text instead of filling the row */
.aisa .aisa-starter .aisa-chips { align-items: center !important; max-width: 100% !important; }
.aisa .aisa-starter .aisa-chip { width: auto !important; max-width: 100% !important; justify-content: center !important; text-align: left !important; }
.aisa .aisa-starter[hidden] { display: none !important; }

/* Docs tab: library chooser */
.aisa .aisa-libs { display: flex !important; flex-direction: column !important; gap: 8px !important; padding: 4px 14px 14px !important; }
.aisa .aisa-libs-label { font-size: 11px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--aisa-muted) !important; margin: 4px 0 2px !important; }
.aisa .aisa-lib { display: flex !important; align-items: center !important; gap: 12px !important; width: 100% !important; padding: 12px 12px 12px 14px !important; border-radius: 14px !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .06), 0 3px 10px rgba(14, 15, 26, .05) !important; text-align: left !important; cursor: pointer !important; transition: box-shadow .15s ease, transform .15s ease !important; }
.aisa .aisa-lib:hover { transform: translateY(-1px) !important; box-shadow: 0 0 0 1px var(--aisa-accent), 0 8px 20px rgba(14, 15, 26, .08) !important; }
.aisa .aisa-lib > svg:first-child { width: 22px !important; height: 22px !important; flex: none !important; color: var(--aisa-accent) !important; }
.aisa .aisa-lib > svg:last-child { width: 16px !important; height: 16px !important; flex: none !important; color: var(--aisa-muted) !important; }
.aisa .aisa-lib-body { display: flex !important; flex-direction: column !important; gap: 2px !important; flex: 1 !important; min-width: 0 !important; }
.aisa .aisa-lib-body strong { font-size: 14px !important; font-weight: 700 !important; color: var(--aisa-ink) !important; }
.aisa .aisa-lib-body span { font-size: 12.5px !important; line-height: 1.4 !important; color: var(--aisa-muted) !important; }
.aisa .aisa-lib-body em { font-style: normal !important; font-size: 11px !important; color: var(--aisa-muted) !important; opacity: .8 !important; }
.aisa .aisa-libbar { display: flex !important; align-items: center !important; gap: 8px !important; flex: none !important; margin: 0 14px 6px !important; padding: 0 !important; font-size: 13px !important; font-weight: 700 !important; color: var(--aisa-ink) !important; }
.aisa .aisa-libbar-back { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 28px !important; height: 28px !important; border-radius: 9px !important; background: var(--aisa-surface) !important; color: var(--aisa-muted) !important; box-shadow: 0 0 0 1px var(--aisa-line) !important; cursor: pointer !important; }
.aisa .aisa-libbar-back:hover { color: var(--aisa-accent) !important; box-shadow: 0 0 0 1px var(--aisa-accent) !important; }
.aisa .aisa-libbar-back svg { width: 14px !important; height: 14px !important; }

/* ================= Theme hardening =================
   Themes commonly style generic buttons, images, paragraphs and anything with "btn" in the class
   name (floats, absolute positioning, transforms, line-height tricks). Pin the pieces that must
   stay in normal flow. Specific plugin rules that position elements on purpose are more specific
   than these and keep working. */
.aisa .aisa-msg, .aisa .aisa-msg > *, .aisa .aisa-who, .aisa .aisa-who > *, .aisa .aisa-bubble, .aisa .aisa-bubble > *, .aisa .aisa-bubble p, .aisa .aisa-bubble ul, .aisa .aisa-bubble ol, .aisa .aisa-bubble li, .aisa .aisa-chips, .aisa .aisa-chip, .aisa .aisa-human, .aisa .aisa-starter, .aisa .aisa-contact-btn, .aisa .aisa-doc-btn, .aisa .aisa-ref, .aisa .aisa-shot { position: static !important; float: none !important; clear: none !important; transform: none !important; inset: auto !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important; }
.aisa .aisa-bubble { height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible !important; box-sizing: border-box !important; }
.aisa .aisa-bubble > *, .aisa .aisa-bubble p, .aisa .aisa-bubble li { width: auto !important; max-width: none !important; min-height: 0 !important; height: auto !important; line-height: 1.55 !important; text-indent: 0 !important; }
.aisa .aisa-bubble p { display: block !important; margin: 0 0 8px !important; padding: 0 !important; }
.aisa .aisa-bubble p:last-child { margin-bottom: 0 !important; }
.aisa .aisa-msg--user { display: flex !important; flex-direction: column !important; align-items: flex-end !important; }
.aisa .aisa-msg--user .aisa-bubble { display: inline-block !important; width: auto !important; box-sizing: border-box !important; }
.aisa .aisa-contact-btn, .aisa .aisa-doc-btn { margin: 6px 0 0 !important; width: auto !important; height: auto !important; min-height: 0 !important; line-height: 1.3 !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; border: 0 !important; }
.aisa .aisa-doc-btn { margin-top: 8px !important; }
/* Avatars: never clipped, image or letter centred */
.aisa .aisa-mark, .aisa .aisa-avatar, .aisa .aisa-mark--user { position: relative !important; overflow: hidden !important; line-height: 1 !important; padding: 0 !important; box-sizing: border-box !important; }
.aisa .aisa-mark img, .aisa .aisa-avatar img { display: block !important; width: 100% !important; height: 100% !important; max-width: 100% !important; max-height: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; object-fit: cover !important; vertical-align: top !important; transform: none !important; }
.aisa .aisa-mark svg, .aisa .aisa-avatar svg { display: block !important; margin: 0 !important; }
.aisa .aisa-mark span { display: inline !important; line-height: 1 !important; }

/* Changelog: library switcher and collapsed releases */
.aisa .aisa-cl-switch { display: flex !important; flex: none !important; gap: 4px !important; margin: 0 14px 8px !important; padding: 3px !important; border-radius: 12px !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px var(--aisa-line) !important; overflow-x: auto !important; scrollbar-width: none !important; }
.aisa .aisa-cl-switch[hidden] { display: none !important; }
.aisa .aisa-cl-switch-btn { flex: 1 0 auto !important; padding: 7px 12px !important; border-radius: 9px !important; font-size: 12.5px !important; font-weight: 650 !important; color: var(--aisa-muted) !important; white-space: nowrap !important; cursor: pointer !important; }
.aisa .aisa-cl-switch-btn.is-active { background: var(--aisa-accent) !important; color: #fff !important; }
.aisa .aisa-cl-entry.is-collapsed .aisa-cl-items { overflow: hidden !important; position: relative !important; }
.aisa .aisa-cl-entry.is-collapsed .aisa-cl-items::after { content: "" !important; position: absolute !important; left: 0 !important; right: 0 !important; bottom: 0 !important; height: 56px !important; background: linear-gradient(to bottom, transparent, var(--aisa-surface)) !important; pointer-events: none !important; }
.aisa .aisa-cl-more-btn { display: inline-flex !important; align-items: center !important; gap: 5px !important; margin: 8px 0 0 !important; padding: 6px 10px !important; border-radius: 9px !important; background: var(--aisa-canvas) !important; color: var(--aisa-accent) !important; font-size: 12.5px !important; font-weight: 650 !important; cursor: pointer !important; }
.aisa .aisa-cl-more-btn svg { width: 14px !important; height: 14px !important; transition: transform .2s ease !important; }
.aisa .aisa-cl-more-btn.is-open svg { transform: rotate(180deg) !important; }

/* Docs results: library badge before the category */
.aisa .aisa-doc-lib { display: inline-block !important; margin: 0 6px 0 0 !important; padding: 1px 7px !important; border-radius: 6px !important; background: var(--aisa-tint) !important; color: var(--aisa-accent) !important; font-weight: 700 !important; font-size: 10.5px !important; letter-spacing: .03em !important; text-transform: uppercase !important; }

/* Combined changelog: product name above each release */
.aisa .aisa-cl-product { margin: 0 0 8px !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--aisa-accent) !important; }
.aisa .aisa-cl-product + .aisa-cl-head { margin-top: 0 !important; }

/* Docs tab: category browser */
.aisa .aisa-catlist { display: flex !important; flex-direction: column !important; gap: 8px !important; padding: 4px 14px 6px !important; }
.aisa .aisa-catcard { display: flex !important; align-items: center !important; gap: 12px !important; width: 100% !important; padding: 12px 12px 12px 14px !important; border-radius: 14px !important; background: var(--aisa-surface) !important; box-shadow: 0 0 0 1px rgba(14, 15, 26, .06), 0 3px 10px rgba(14, 15, 26, .05) !important; text-align: left !important; cursor: pointer !important; transition: box-shadow .15s ease, transform .15s ease !important; }
.aisa .aisa-catcard:hover { transform: translateY(-1px) !important; box-shadow: 0 0 0 1px var(--aisa-accent), 0 8px 20px rgba(14, 15, 26, .08) !important; }
.aisa .aisa-catcard > svg:first-child { width: 20px !important; height: 20px !important; flex: none !important; color: var(--aisa-accent) !important; }
.aisa .aisa-catcard > svg:last-child { width: 16px !important; height: 16px !important; flex: none !important; color: var(--aisa-muted) !important; }
.aisa .aisa-catcard-body { display: flex !important; flex-direction: column !important; gap: 2px !important; flex: 1 !important; min-width: 0 !important; }
.aisa .aisa-catcard-body strong { font-size: 14px !important; font-weight: 700 !important; color: var(--aisa-ink) !important; }
.aisa .aisa-catcard-body span { font-size: 12.5px !important; line-height: 1.4 !important; color: var(--aisa-muted) !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.aisa .aisa-catcard-body em { font-style: normal !important; font-size: 11px !important; color: var(--aisa-muted) !important; opacity: .85 !important; }
.aisa .aisa-catall { align-self: flex-start !important; margin: 2px 14px 10px !important; padding: 7px 12px !important; border-radius: 10px !important; background: var(--aisa-surface) !important; color: var(--aisa-accent) !important; font-size: 12.5px !important; font-weight: 650 !important; box-shadow: 0 0 0 1px var(--aisa-line) !important; cursor: pointer !important; }
.aisa .aisa-catbar { display: flex !important; align-items: center !important; gap: 8px !important; flex: none !important; margin: 0 14px 6px !important; font-size: 13px !important; font-weight: 700 !important; color: var(--aisa-ink) !important; }
.aisa .aisa-catbar-back { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 28px !important; height: 28px !important; border-radius: 9px !important; background: var(--aisa-surface) !important; color: var(--aisa-muted) !important; box-shadow: 0 0 0 1px var(--aisa-line) !important; cursor: pointer !important; }
.aisa .aisa-catbar-back:hover { color: var(--aisa-accent) !important; box-shadow: 0 0 0 1px var(--aisa-accent) !important; }
.aisa .aisa-catbar-back svg { width: 14px !important; height: 14px !important; }

/* Docs tab: products and categories run edge to edge, like the article list */
.aisa .aisa-libs, .aisa .aisa-catlist { padding-left: 0 !important; padding-right: 0 !important; }
.aisa .aisa-catall { margin-left: 0 !important; margin-right: 0 !important; }

/* Product chooser: combined article count, right-aligned on the label row */
.aisa .aisa-libs-label { display: flex !important; align-items: baseline !important; justify-content: space-between !important; gap: 10px !important; }
.aisa .aisa-libs-label em { font-style: normal !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; font-size: 11px !important; color: var(--aisa-muted) !important; opacity: .85 !important; white-space: nowrap !important; }

/* Mobile: the panel is already full screen, so the enlarged docs/changelog mode must not resize it */
@media (max-width: 600px) {
	.aisa--open.aisa--reading .aisa-panel, .aisa--open.aisa--reading.aisa--wide .aisa-panel {
		width: 100vw !important;
		max-width: 100vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		max-height: none !important;
		border-radius: 0 !important;
	}
	.aisa.aisa--reading.aisa--wide .aisa-reader { padding-left: 16px !important; padding-right: 16px !important; }
	.aisa.aisa--reading.aisa--wide .aisa-reader .aisa-article { font-size: 14.5px !important; }
	/* The expand/shrink button has nothing to do on a full-screen panel. */
	.aisa .aisa-icon-btn.aisa-size { display: none !important; }
}
