/* Theme Variables */
:root {
  /* Light Theme (Default) */
  --bg-color: #f0f2f5;
  --text-color: #333333;
  --header-color: #444444;
  --card-bg: #ffffff;
  --card-shadow: rgba(0, 0, 0, 0.1);
  --border-color: #e4e6eb;
  --navbar-bg: #1E2A5E;
  --navbar-text: #cbd5db;
  --navbar-active: #ffffff;
  --navbar-active-bg: rgba(255, 255, 255, 0.1);
  --chat-sent-bg: #4a76a8;
  --chat-sent-color: white;
  --chat-received-bg: #e4e6eb;
  --chat-received-color: #050505;
  --input-bg: white;
  --button-bg: #4a76a8;
  --button-color: white;
  --card-header-bg: #1E2A5E;
  --card-header-color: #ffffff !important;
  --card-description-color: #333333;
  --card-hover-shadow: rgba(0, 0, 0, 0.3);
  --card-hover-border: #1E2A5E;
  --pagination-bg: #ffffff;
  --pagination-color: #1E2A5E;
  --pagination-border: #1E2A5E;
  --pagination-active-bg: #1E2A5E;
  --pagination-active-color: #ffffff;
  --pagination-disabled-color: #cccccc;
  --pagination-disabled-border: #cccccc;
  --sidebar-bg: #1E2A5E;
  --sidebar-color: #ffffff;
  --sidebar-hover-bg: #2A3A7E;
  --sidebar-active-bg: #354AA0;
  --content-area-bg: #ffffff;
  --typing-indicator-bg: #e4e6eb;
  --typing-indicator-dot: #93959f;
  --code-bg: #f6f8fa;
  --code-color: #24292e;
  --debug-bg: #f8f9fa;
  --debug-border: #ccc;
}

/* Dark Theme */
[data-theme="dark"] {
  --bg-color: #121212;
  --text-color: #e0e0e0;
  --header-color: #f0f0f0;
  --card-bg: #1e1e1e;
  --card-shadow: rgba(0, 0, 0, 0.3);
  --border-color: #2d2d2d;
  --navbar-bg: #0d1117;
  --navbar-text: #8b949e;
  --navbar-active: #ffffff;
  --navbar-active-bg: rgba(255, 255, 255, 0.05);
  --chat-sent-bg: #0d47a1;
  --chat-sent-color: white;
  --chat-received-bg: #2d2d2d;
  --chat-received-color: #e0e0e0;
  --input-bg: #2d2d2d;
  --button-bg: #0d47a1;
  --button-color: white;
  --card-header-bg: #0d1117;
  --card-header-color: #ffffff;
  --card-description-color: #e0e0e0;
  --card-hover-shadow: rgba(0, 0, 0, 0.5);
  --card-hover-border: #0d47a1;
  --pagination-bg: #1e1e1e;
  --pagination-color: #e0e0e0;
  --pagination-border: #2d2d2d;
  --pagination-active-bg: #0d47a1;
  --pagination-active-color: #ffffff;
  --pagination-disabled-color: #555555;
  --pagination-disabled-border: #444444;
  --sidebar-bg: #0d1117;
  --sidebar-color: #e0e0e0;
  --sidebar-hover-bg: #1a2234;
  --sidebar-active-bg: #0d47a1;
  --content-area-bg: #121212;
  --typing-indicator-bg: #2d2d2d;
  --typing-indicator-dot: #8b949e;
  --code-bg: #0d1117;
  --code-color: #c9d1d9;
  --debug-bg: #1e1e1e;
  --debug-border: #444;
}

/* Apply theme variables */
body {
  background-color: var(--bg-color);
  color: var(--text-color);
  transition: background-color 0.3s ease, color 0.3s ease;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--header-color);
}

.bg-steel {
  background-color: var(--navbar-bg) !important;
}

.site-header .navbar-nav .nav-link {
  color: var(--navbar-text) !important;
}

.site-header .navbar-nav .nav-link:hover,
.site-header .navbar-nav .nav-link.active {
  color: var(--navbar-active) !important;
  background-color: var(--navbar-active-bg);
}

.content-section {
  background: var(--card-bg);
  border-color: var(--border-color);
}

.article-title {
  color: var(--header-color);
}

.article-metadata {
  border-bottom-color: var(--border-color);
}

.chat-container, .supporting-text-card {
  background-color: var(--card-bg);
  box-shadow: 0 0 20px var(--card-shadow);
}

/* Article cards */
.card {
  background-color: var(--card-bg);
  border-color: var(--border-color);
  box-shadow: 0 4px 8px var(--card-shadow);
}

.card:hover {
  box-shadow: 0 12px 24px var(--card-hover-shadow);
  border-color: var(--card-hover-border);
}

.card-header {
  background-color: var(--card-header-bg);
  color: var(--card-header-color);
}

.card-header h3,
.card-header h2,
.card-header h4 {
  color: var(--card-header-color) !important;
}

.card-description {
  color: var(--card-description-color);
}

/* Pagination */
.pagination-btn {
  background-color: var(--pagination-bg);
  color: var(--pagination-color);
  border-color: var(--pagination-border);
}

.pagination-btn:hover {
  background-color: var(--pagination-active-bg);
  color: var(--pagination-active-color);
}

.pagination-btn.active {
  background-color: var(--pagination-active-bg);
  color: var(--pagination-active-color);
}

.pagination-btn.disabled {
  color: var(--pagination-disabled-color);
  border-color: var(--pagination-disabled-border);
}

/* Sidebar */
.sidebar {
  background-color: var(--sidebar-bg);
  color: var(--sidebar-color);
}

.sidebar-item {
  color: var(--sidebar-color);
}

.sidebar-item:hover {
  background-color: var(--sidebar-hover-bg);
}

.sidebar-item.active {
  background-color: var(--sidebar-active-bg);
}

/* Content area */
.content-area {
  background-color: var(--content-area-bg);
}

.sent .message-text {
  background-color: var(--chat-sent-bg);
  color: var(--chat-sent-color);
}

.received .message-text {
  background-color: var(--chat-received-bg);
  color: var(--chat-received-color);
}

.message-form {
  background-color: var(--bg-color);
  border-top-color: var(--border-color);
}

.message-input {
  background-color: var(--input-bg);
  color: var(--text-color);
}

.btn-send {
  background-color: var(--button-bg);
  color: var(--button-color);
}

.typing-indicator {
  background-color: var(--typing-indicator-bg);
}

.typing-indicator span {
  background-color: var(--typing-indicator-dot);
}

/* Code blocks */
pre, code {
  background-color: var(--code-bg) !important;
  color: var(--code-color) !important;
}

/* Debug context */
.debug-context {
  background-color: var(--debug-bg);
  border-left-color: var(--debug-border);
}

.debug-content {
  background-color: var(--debug-bg);
}

/* Theme toggle button */
.theme-toggle {
  background: none;
  border: none;
  color: var(--navbar-text);
  font-size: 1.2rem;
  cursor: pointer;
  padding: 0 0.5rem;
  height: 56px;
  line-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.theme-toggle i {
  line-height: 1;
  vertical-align: middle;
}

.theme-toggle:hover {
  color: var(--navbar-active);
}

.theme-toggle i {
  transition: transform 0.3s ease;
}

.theme-toggle:hover i {
  transform: rotate(30deg);
}
