.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  font-family:
    system-ui,
    -apple-system,
    sans-serif;
}

.scenarioSelector {
  margin-bottom: 24px;
}

.scenarioSelector h4 {
  margin: 0 0 12px;
  font-size: 1.125rem;
  color: #111827;
}

.scenarioButtons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.scenarioButton {
  padding: 8px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: white;
  color: #374151;
  cursor: pointer;
  transition: all 0.2s;
}

.scenarioButton:hover:not(:disabled) {
  border-color: #3b82f6;
  background: #eff6ff;
}

.scenarioButton.active {
  border-color: #3b82f6;
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 500;
}

.scenarioButton:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.scenarioDescription {
  margin: 0 0 16px;
  font-size: 0.875rem;
  color: #6b7280;
  line-height: 1.5;
}

.playButton {
  display: block;
  width: 100%;
  padding: 12px 24px;
  background: #3b82f6;
  color: white;
  border: none;
  border-radius: 6px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.playButton:hover:not(:disabled) {
  background: #2563eb;
}

.playButton:disabled {
  background: #93c5fd;
  cursor: not-allowed;
}

.chatContainer {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 20px;
  height: 500px;
  overflow-y: auto;
}

.messageList {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.message {
  padding: 12px;
  border-radius: 8px;
  max-width: 80%;
}

.message.client {
  align-self: flex-end;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
}

.message.remote {
  align-self: flex-start;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
}

.messageHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.messageFrom {
  font-size: 0.875rem;
  font-weight: 500;
  color: #4b5563;
}

.messageTime {
  font-size: 0.75rem;
  color: #6b7280;
}

.messageContent {
  color: #111827;
  line-height: 1.5;
}

.messageAck {
  margin-top: 8px;
  font-size: 0.75rem;
  color: #6b7280;
  font-style: italic;
}

.message.request {
  border-left: 3px solid #3b82f6;
}

.message.response {
  border-left: 3px solid #10b981;
}

.message.context {
  border-left: 3px solid #8b5cf6;
}

.message.status {
  border-left: 3px solid #f59e0b;
}

.message.ack {
  border-left: 3px solid #6b7280;
}

.message.info {
  background: #f3f4f6;
}

.message.success {
  background: #ecfdf5;
}

.message.warning {
  background: #fffbeb;
}

/* Dark mode adjustments */
html[data-theme='dark'] .container {
  background: var(--ifm-background-surface-color);
}

html[data-theme='dark'] .scenarioSelector h4 {
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .scenarioButton {
  background: var(--ifm-card-background-color);
  border-color: var(--ifm-color-emphasis-300);
  color: var(--ifm-color-emphasis-700);
}

html[data-theme='dark'] .scenarioButton:hover:not(:disabled) {
  border-color: var(--ifm-color-primary);
  background: var(--ifm-color-emphasis-100);
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .scenarioButton.active {
  border-color: var(--ifm-color-primary);
  background: var(--ifm-color-primary);
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .scenarioDescription {
  color: var(--ifm-color-emphasis-600);
}

html[data-theme='dark'] .chatContainer {
  background: var(--ifm-card-background-color);
  border-color: var(--ifm-color-emphasis-300);
}

html[data-theme='dark'] .message.client {
  background: var(--ifm-color-primary-darker);
  border-color: var(--ifm-color-primary-dark);
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .message.remote {
  background: var(--ifm-color-emphasis-100);
  border-color: var(--ifm-color-emphasis-300);
}

html[data-theme='dark'] .messageFrom {
  color: var(--ifm-color-emphasis-900);
}

html[data-theme='dark'] .messageTime {
  color: var(--ifm-color-emphasis-600);
}

html[data-theme='dark'] .messageContent {
  color: var(--ifm-color-emphasis-900);
}

html[data-theme='dark'] .message.client .messageContent,
html[data-theme='dark'] .message.client .messageFrom,
html[data-theme='dark'] .message.client .messageTime,
html[data-theme='dark'] .message.client .messageAck {
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .messageAck {
  color: var(--ifm-color-emphasis-600);
}

html[data-theme='dark'] .message.info {
  background: var(--ifm-color-emphasis-200);
}

html[data-theme='dark'] .message.success {
  background: var(--ifm-color-success-darker);
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .message.warning {
  background: var(--ifm-color-warning-darker);
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .message.request {
  border-left-color: var(--ifm-color-primary);
}

html[data-theme='dark'] .message.response {
  border-left-color: var(--ifm-color-success);
}

html[data-theme='dark'] .message.context {
  border-left-color: var(--ifm-color-info);
}

html[data-theme='dark'] .message.status {
  border-left-color: var(--ifm-color-warning);
}

html[data-theme='dark'] .message.ack {
  border-left-color: var(--ifm-color-emphasis-500);
}

/* Ensure text is readable in status messages */
html[data-theme='dark'] .message.success .messageContent,
html[data-theme='dark'] .message.success .messageFrom,
html[data-theme='dark'] .message.success .messageTime,
html[data-theme='dark'] .message.success .messageAck,
html[data-theme='dark'] .message.warning .messageContent,
html[data-theme='dark'] .message.warning .messageFrom,
html[data-theme='dark'] .message.warning .messageTime,
html[data-theme='dark'] .message.warning .messageAck {
  color: var(--ifm-color-white);
}
