/* =============================================
   TRASH_MATH — Dark Theme
   ============================================= */

[data-theme="dark"] {
  --text-primary: #E8E8F0;
  --text-secondary: #A0A0B8;
  --text-muted: #6A6A80;
  --text-inverse: #1A1A2E;

  --bg-primary: #1A1A2E;
  --bg-secondary: #222240;
  --bg-card: #252540;
  --bg-elevated: #2A2A48;
  --bg-input: #2E2E50;

  --border-color: #3A3A58;
  --border-light: #303050;

  --primary-color: #7BA8D0;
  --primary-light: #3A4A68;
  --primary-dark: #9CC0E0;
  --primary-deeper: #B0D4F0;

  --accent-color: #C8A888;
  --accent-light: #4A3E30;
  --accent-dark: #D8B898;

  --success: #6AB894;
  --success-light: #1A3A2A;
  --warning: #D8B86A;
  --warning-light: #3A3220;
  --error: #D87A7A;
  --error-light: #3A1A1A;
  --info: #7AA8D8;
  --info-light: #1A2A3A;

  --shadow-xs: 0 1px 3px rgba(0, 0, 0, 0.2);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 8px 32px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.35);
  --shadow-xl: 0 24px 64px rgba(0, 0, 0, 0.4);
  --shadow-glow: 0 0 20px rgba(123, 168, 208, 0.2);
  --shadow-accent: 0 4px 16px rgba(200, 168, 136, 0.15);
}

[data-theme="dark"] .main-nav {
  background: rgba(26, 26, 46, 0.9);
  border-bottom-color: var(--border-color);
}

[data-theme="dark"] .nav-logo::after {
  background: var(--accent-color);
}

[data-theme="dark"] .hero-bg {
  background: linear-gradient(135deg, var(--bg-primary) 0%, #252548 100%);
}

[data-theme="dark"] .hero-circle {
  opacity: 0.1;
}

[data-theme="dark"] .hero-title {
  background: linear-gradient(135deg, var(--text-primary) 0%, var(--primary-dark) 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

[data-theme="dark"] .counter-section {
  background: linear-gradient(135deg, #2A3A58 0%, #1A2A48 100%);
}

[data-theme="dark"] .service-card.featured::after {
  background: var(--accent-dark);
  color: var(--bg-primary);
}

[data-theme="dark"] img {
  opacity: 0.9;
}

[data-theme="dark"] ::selection {
  background: var(--primary-color);
  color: var(--bg-primary);
}

[data-theme="dark"] ::-webkit-scrollbar-track {
  background: var(--bg-secondary);
}
[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: var(--primary-color);
}

/* Smooth theme transition — only top-level containers.
   Do NOT add .card, .btn, .badge etc. here: KaTeX generates hundreds
   of nested spans inside cards, and animating all of them freezes the UI. */
.main-nav, .main-footer, .sidebar {
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

[data-theme="dark"] .badge-wave { background: #2f3456; color: #a4b4ff; }

/* Читаемость версии в темной теме */
[data-theme="dark"] .version-badge {
  background: rgba(100, 150, 255, 0.25);
  color: #c0cfff;
}

/* Выколотые точки на чертежах метода интервалов:
   Circles with fill="white"/#fff are hollow points that should show the
   card background, not stay white in dark mode */
[data-theme="dark"] .render-svg [fill="white"],
[data-theme="dark"] .render-svg [fill="#fff"],
[data-theme="dark"] .render-svg [fill="#FFF"],
[data-theme="dark"] .render-svg [fill="#ffffff"],
[data-theme="dark"] .render-svg [fill="#FFFFFF"],
[data-theme="dark"] .accordion-body [fill="white"],
[data-theme="dark"] .accordion-body [fill="#fff"],
[data-theme="dark"] .accordion-body [fill="#FFF"],
[data-theme="dark"] .accordion-body [fill="#ffffff"],
[data-theme="dark"] .accordion-body [fill="#FFFFFF"] {
  fill: var(--bg-card) !important;
}

/* Filter sidebar scrollbar in dark mode */
[data-theme="dark"] .task-filter-sidebar:hover {
  scrollbar-color: rgba(255,255,255,0.15) transparent;
}
[data-theme="dark"] .task-filter-sidebar:hover::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.15);
}

/* Grading criteria dark theme */
[data-theme="dark"] .grading-criteria-block {
  border-color: var(--border-color);
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

[data-theme="dark"] .grading-criteria-header {
  background: linear-gradient(135deg, #2a2a48 0%, #303050 100%);
  color: var(--text-primary);
  border-bottom-color: var(--border-color);
}

[data-theme="dark"] .grading-criteria-table thead th {
  background: var(--bg-elevated);
  color: var(--text-secondary);
  border-bottom-color: var(--border-color);
}

[data-theme="dark"] .grading-criteria-table tbody td {
  color: var(--text-primary);
  border-bottom-color: var(--border-light);
}

[data-theme="dark"] .grading-criteria-table tbody td:last-child,
[data-theme="dark"] .grading-criteria-table tbody td.score {
  color: #7BA8D0;
}

[data-theme="dark"] .grading-criteria-table tbody tr:hover {
  background: var(--bg-elevated);
}

[data-theme="dark"] .grading-criteria-table tbody td em {
  font-style: italic;
}

[data-theme="dark"] .grading-criteria-table tbody td strong {
  color: var(--text-primary);
}

[data-theme="dark"] .grading-criteria-table tfoot td {
  background: linear-gradient(135deg, #2a2a48 0%, #303050 100%);
  border-top-color: var(--border-color);
  color: var(--text-primary);
}

[data-theme="dark"] .grading-criteria-table tfoot td:last-child,
[data-theme="dark"] .grading-criteria-table tfoot td.score {
  color: #7BA8D0;
}
