.ai-tutor-model-badge {
  background-color: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
}

.ai-tutor-messages {
  height: 58vh;
  overflow: auto;
  padding: 1rem;
}

.ai-tutor-symbol-tabs {
  background-color: #f8f9fa;
}

.ai-topic-result-hidden {
  display: none;
}

.ai-topic-system-prompt-selector {
  max-width: 420px;
}

.ai-topic-linked-quizzes {
  height: 150px;
}

.ai-topic-preview-pre {
  max-height: 260px;
  overflow: auto;
  white-space: pre-wrap;
}

.ai-topic-rag-picker-list {
  max-height: 380px;
  overflow-y: auto;
}

.ai-topic-assistant-card {
  background-color: #f8f9fa;
}

.ai-tutor-source-badge,
.ai-tutor-tag-badge {
  background-color: #f8f9fa;
  color: #6c757d;
  border: 1px solid #dee2e6;
}

.ai-tutor-rag-dropzone {
  background-color: #f8f9fa;
}

.anti-cheat-hidden {
  display: none;
}

.anti-cheat-input-group {
  max-width: 200px;
}

.alert-sm {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 0.875rem;
}

[data-bs-theme="dark"] .ai-tutor-model-badge,
[data-bs-theme="dark"] .ai-tutor-source-badge,
[data-bs-theme="dark"] .ai-tutor-tag-badge {
  background-color: #1a2637;
  color: #d8e2f3;
  border-color: #2a3649;
}

[data-bs-theme="dark"] .ai-tutor-symbol-tabs,
[data-bs-theme="dark"] .ai-topic-assistant-card,
[data-bs-theme="dark"] .ai-tutor-rag-dropzone {
  background-color: #121a2a;
  border-color: #2a3649 !important;
  color: #d8e2f3;
}

[data-bs-theme="dark"] .ai-tutor-rag-dropzone .text-muted,
[data-bs-theme="dark"] .ai-tutor-rag-dropzone .small {
  color: #aab7cd !important;
}

[data-bs-theme="dark"] .btn-outline-dark {
  color: #d8e2f3;
  border-color: #495670;
}

[data-bs-theme="dark"] .btn-outline-dark:hover {
  background-color: #1a2637;
  color: #ffffff;
}

.home-hero {
  background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 60%, #7c3aed 100%);
  color: #fff;
  border-radius: 1.25rem;
  padding: 2rem 1.5rem;
}

.home-hero .hero-badge {
  display: inline-block;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 2rem;
  padding: 0.25rem 1rem;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  margin-bottom: 0.75rem;
}

.home-hero h1 {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 800;
  line-height: 1.15;
  margin-bottom: 0.5rem;
}

.home-hero .lead {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.15rem;
}