.bcai-root {
	--bcai-accent: #0071e3;
	--bcai-ink: #1d1d1f;
	--bcai-ink-soft: #6e6e73;
	--bcai-ink-faint: #a1a1a6;
	--bcai-surface: #f5f5f7;
	--bcai-line: #eaeaea;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	-webkit-font-smoothing: antialiased;
}
.bcai-root * { box-sizing: border-box; }

/* =========================================================
.bcai-inline {
	max-width: 780px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}
.bcai-hero { text-align: center; margin-bottom: 24px; }
.bcai-eyebrow {
	font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
	color: var(--bcai-accent); margin: 0 0 12px;
}
.bcai-hero h1 { font-size: 30px; font-weight: 600; letter-spacing: -0.02em; margin: 0 0 10px; color: var(--bcai-ink); }
.bcai-hero p { font-size: 15px; color: var(--bcai-ink-soft); max-width: 480px; margin: 0 auto; line-height: 1.55; }

.bcai-inline .bcai-panel {
	width: 100%;
	height: 620px;
	background: #fff;
	border-radius: 20px;
	border: 1px solid var(--bcai-line);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.bcai-footnote { text-align: center; font-size: 11.5px; color: var(--bcai-ink-faint); margin: 14px 0 0; }

/* =========================================================
   SHARED PANEL PARTS
   ========================================================= */
.bcai-panel-head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 18px;
	border-bottom: 1px solid var(--bcai-line);
	background: #fff;
	flex: 0 0 auto;
}
.bcai-avatar {
	width: 30px; height: 30px; border-radius: 9px; background: var(--bcai-accent);
	display: flex; align-items: center; justify-content: center; color: #fff; flex: 0 0 auto;
}
.bcai-avatar svg { width: 15px; height: 15px; }
.bcai-panel-head-text { flex: 1; min-width: 0; }
.bcai-panel-title { display: block; font-size: 13.5px; font-weight: 600; color: var(--bcai-ink); }
.bcai-panel-sub { display: block; font-size: 11.5px; color: var(--bcai-ink-faint); margin-top: 1px; }
.bcai-close {
	width: 26px; height: 26px;
	display: flex; align-items: center; justify-content: center;
	background: none; border: none; color: var(--bcai-ink-faint);
	cursor: pointer; border-radius: 6px; flex: 0 0 auto;
}
.bcai-close:hover { color: var(--bcai-ink); }

.bcai-messages {
	flex: 1;
	overflow-y: auto;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	background: #fff;
}

.bcai-msg-group { display: flex; flex-direction: column; gap: 4px; max-width: 84%; }
.bcai-msg-group.bcai-user-group { align-self: flex-end; align-items: flex-end; }
.bcai-msg-group.bcai-bot-group { align-self: flex-start; align-items: flex-start; }

.bcai-msg { font-size: 13.5px; line-height: 1.55; }
.bcai-msg-bot { background: var(--bcai-surface); color: var(--bcai-ink); padding: 11px 14px; border-radius: 14px 14px 14px 4px; }
.bcai-msg-user { background: var(--bcai-accent); color: #fff; padding: 11px 14px; border-radius: 14px 14px 4px 14px; }

.bcai-msg-sources { font-size: 10.5px; color: var(--bcai-ink-faint); }
.bcai-msg-time { font-size: 10px; color: var(--bcai-ink-faint); padding: 0 2px; }

.bcai-msg-footer { display: flex; align-items: center; gap: 8px; padding-left: 2px; }
.bcai-msg-actions { display: flex; gap: 1px; }
.bcai-action-btn {
	width: 20px; height: 20px; display: flex; align-items: center; justify-content: center;
	background: none; border: none; color: var(--bcai-ink-faint); cursor: pointer; border-radius: 5px;
}
.bcai-action-btn:hover { background: #ececee; color: var(--bcai-ink); }
.bcai-action-btn.bcai-liked { color: var(--bcai-accent); }
.bcai-action-btn.bcai-disliked { color: #e0483e; }
.bcai-action-btn svg { width: 12px; height: 12px; }

.bcai-msg p { margin: 0 0 8px; }
.bcai-msg p:last-child { margin-bottom: 0; }
.bcai-msg ul, .bcai-msg ol { margin: 0 0 8px; padding-left: 18px; }
.bcai-msg ul:last-child, .bcai-msg ol:last-child { margin-bottom: 0; }
.bcai-msg li { margin-bottom: 2px; }
.bcai-msg code {
	background: rgba(0,0,0,0.06); padding: 1px 5px; border-radius: 4px; font-size: 0.92em;
	font-family: Menlo, Consolas, monospace;
}
.bcai-msg-user code { background: rgba(255,255,255,0.2); }

.bcai-table {
	width: 100%; border-collapse: collapse; margin: 4px 0 8px; font-size: 0.92em;
	background: #fff; border-radius: 6px; overflow: hidden;
}
.bcai-table th, .bcai-table td {
	border: 1px solid var(--bcai-line); padding: 6px 9px; text-align: left; vertical-align: top;
}
.bcai-table th { background: var(--bcai-surface); font-weight: 600; }
.bcai-msg-user .bcai-table th { background: rgba(255,255,255,0.15); }
.bcai-msg-user .bcai-table, .bcai-msg-user .bcai-table th, .bcai-msg-user .bcai-table td { border-color: rgba(255,255,255,0.35); }

.bcai-cursor-blink {
	display: inline-block; width: 2px; height: 12px; background: var(--bcai-ink-faint);
	margin-left: 2px; vertical-align: middle; animation: bcai-blink 0.9s steps(2) infinite;
}
@keyframes bcai-blink { 0%, 50% { opacity: 1; } 50.01%, 100% { opacity: 0; } }

.bcai-typing {
	align-self: flex-start;
	background: var(--bcai-surface);
	padding: 12px 14px;
	border-radius: 14px 14px 14px 4px;
	display: flex; align-items: center; gap: 4px;
}
.bcai-typing span { width: 6px; height: 6px; border-radius: 50%; background: var(--bcai-ink-faint); animation: bcai-bounce 1.2s infinite ease-in-out; }
.bcai-typing span:nth-child(2) { animation-delay: 0.15s; }
.bcai-typing span:nth-child(3) { animation-delay: 0.3s; }
@keyframes bcai-bounce { 0%, 60%, 100% { transform: translateY(0); opacity: 0.5; } 30% { transform: translateY(-3px); opacity: 1; } }

.bcai-suggested-wrap { flex: 0 0 auto; }
.bcai-suggested-label {
	font-size: 10px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase;
	color: var(--bcai-ink-faint); padding: 0 18px 6px;
}
.bcai-inline .bcai-suggested-label { display: none; }
.bcai-suggested {
	display: flex; flex-wrap: wrap; gap: 6px;
	padding: 0 18px 12px;
}
.bcai-suggested:empty { display: none; }
.bcai-suggested-chip {
	font-size: 11.5px; font-weight: 500; color: var(--bcai-ink-soft);
	background: var(--bcai-surface); border: 1px solid var(--bcai-line); border-radius: 7px;
	padding: 6px 11px; cursor: pointer; font-family: inherit;
}
.bcai-suggested-chip:hover { border-color: var(--bcai-ink-faint); color: var(--bcai-ink); }

.bcai-input-row {
	display: flex; align-items: center; gap: 8px;
	padding: 10px 14px 14px;
	flex: 0 0 auto;
	border-top: 1px solid var(--bcai-line);
}
.bcai-input {
	flex: 1;
	border: 1px solid var(--bcai-line);
	border-radius: 10px;
	padding: 10px 13px;
	font-family: inherit;
	font-size: 13.5px;
	outline: none;
	background: var(--bcai-surface);
	resize: none;
	max-height: 100px;
	line-height: 1.4;
}
.bcai-input:focus { background: #fff; border-color: var(--bcai-accent); }
.bcai-send {
	width: 38px; height: 38px; border-radius: 10px; background: var(--bcai-accent); color: #fff;
	border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; flex: 0 0 auto;
}
.bcai-send:hover { background: #0060c4; }
.bcai-send:disabled { opacity: 0.5; cursor: default; }

@media (max-width: 480px) {
	.bcai-inline .bcai-panel { height: 70vh; }
	.bcai-hero h1 { font-size: 24px; }
}
