* {
	box-sizing: border-box;
}

html, body {
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	font-family: sans-serif;
	background: #f0f2f5;
	display: flex;
	flex-direction: column;
	height: 100vh;
}

#transcript {
	flex: 1;
	overflow-y: auto;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.msg {
	max-width: 70%;
	padding: 12px 16px;
	border-radius: 12px;
	line-height: 1.4;
	/*white-space: pre-wrap;*/
	word-wrap: break-word;
}

.msg-user {
	align-self: flex-end;
	background: #007bff;
	color: #fff;
	border-bottom-right-radius: 2px;
}

.msg-response {
	align-self: flex-start;
	background: #ffffff;
	color: #333;
	border: 1px solid #e0e0e0;
	border-bottom-left-radius: 2px;
}

/* CLI format overrides */
#transcript.cli {
	background: #1e1e1e;
	padding: 16px;
	gap: 2px;
	font-family: "Menlo", "Consolas", "Courier New", monospace;
}

#transcript.cli .msg {
	max-width: 100%;
	align-self: flex-start;
	padding: 2px 0;
	background: transparent;
	border: none;
	border-radius: 0;
	line-height: 1.3;
}

#transcript.cli .msg-user {
	color: #e0e0e0;
	font-weight: bold;
}

#transcript.cli .msg-user::before {
	content: "$ ";
	color: #4ec9b0;
}

#transcript.cli .msg-response {
	color: #9cdcfe;
	font-weight: normal;
}

#input-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 16px 24px;
	background: #f0f2f5;
	border-top: 1px solid #e0e0e0;
}

#chat-input {
	flex: 1;
	padding: 12px 16px;
	font-size: 1.1rem;
	border: 2px solid #ccc;
	border-radius: 24px;
	outline: none;
	background: #fff;
}

#chat-input:focus {
	border-color: #007bff;
}

#send-btn {
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 50%;
	background: #007bff;
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
}

#send-btn:hover {
	background: #0056b3;
}

#send-btn:disabled {
	background: #999;
	cursor: not-allowed;
}

