html[data-exam-theme="dark"],
body[data-exam-theme="dark"] {
  background: #101722;
  color: #eef2f7;
}

.x-shell.theme-dark {
  --bg: #101722;
  --surface: #182233;
  --surface-soft: #202b3f;
  --ink: #eef2f7;
  --muted: #aeb7c6;
  --line: rgba(238, 242, 247, 0.16);
  --line-strong: rgba(238, 242, 247, 0.28);
  --primary: #79b8a9;
  --primary-soft: rgba(121, 184, 169, 0.16);
  color: var(--ink);
}

.x-shell.theme-dark .x-header {
  background: rgba(16, 23, 34, 0.92);
  border-color: var(--line);
}

.x-shell.theme-dark .x-card,
.x-shell.theme-dark .x-panel,
.x-shell.theme-dark .x-list-panel,
.x-shell.theme-dark .x-profile-card,
.x-shell.theme-dark .x-question-card,
.x-shell.theme-dark .x-attempt-rail > .x-card {
  background: rgba(24, 34, 51, 0.92);
  border-color: var(--line);
}

.x-shell.theme-dark .x-input,
.x-shell.theme-dark .x-select,
.x-shell.theme-dark .x-textarea,
.x-shell.theme-dark .x-mini-list > div,
.x-shell.theme-dark .x-empty,
.x-shell.theme-dark .x-table-wrap,
.x-shell.theme-dark .x-answer-option {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--line);
  color: var(--ink);
}

.x-shell.theme-dark .x-answer-option.active,
.x-shell.theme-dark .x-rail button.active,
.x-shell.theme-dark .x-list-row.active {
  background: rgba(121, 184, 169, 0.14);
  border-color: rgba(121, 184, 169, 0.38);
}

.x-shell.theme-dark .x-join-summary { border-color: var(--line); }
.x-shell.theme-dark .x-join-facts span { background: rgba(121, 184, 169, 0.12); }
.x-shell.theme-dark .x-training-ready .x-mini-list > div.unavailable { background: rgba(255, 255, 255, 0.035); }
