/*
 * Quiet dark-surface hierarchy
 *
 * Passive containers should organize content without announcing themselves as
 * separate SaaS cards. Interactive, selected, focus, success, warning, and
 * error states retain their existing stronger borders in their owning modules.
 */
html.ls-dark-mode {
  --ls-dark-line-subtle: rgba(203, 214, 232, 0.075);
  --ls-dark-line-muted: rgba(203, 214, 232, 0.095);
  --ls-dark-shadow-quiet: 0 12px 28px rgba(0, 0, 0, 0.1);
}

/* App shells, workspace surfaces, settings groups, and empty states. */
html.ls-dark-mode :is(
  .ls-app-container,
  .ls-app-header,
  .ls-app-primary-nav,
  .ls-test-app-container,
  .ls-test-app-header,
  .ls-test-primary-nav,
  .ls-review-workspace,
  .ls-review-tools-owned,
  .ls-review-rechecks-panel,
  .ls-review-rechecks-card,
  .ls-review-rechecks-empty,
  .ls-dashboard-start-card,
  .ls-account-reminder,
  .ls-settings-dialog,
  .ls-settings-sidebar,
  .ls-guest-settings,
  .ls-billing-settings,
  .ls-delete-account,
  .ls-account-disclosure,
  .ls-signup-consent,
  .ls-test-page-intro,
  .ls-test-page-stack,
  .ls-test-start-module,
  .ls-test-compact-workspace,
  .ls-test-mode-switch
) {
  border-width: 1px !important;
  border-color: var(--ls-dark-line-subtle) !important;
}

/* Nested settings groups use a stronger legacy selector; keep their passive frames quiet too. */
html.ls-dark-mode .ls-settings-dialog :is(
  .ls-guest-settings,
  .ls-billing-settings,
  .ls-delete-account,
  .ls-account-disclosure,
  .ls-signup-consent
) {
  border-width: 1px !important;
  border-color: var(--ls-dark-line-subtle) !important;
}
/* Learn: preserve the lesson's semantic accent surfaces, quiet its structure. */
html.ls-dark-mode :is(
  .ls-learn-adaptive-card,
  .ls-learn-builder-card,
  .ls-learn-class-shell,
  .ls-learn-loading-card,
  .ls-learn-overview,
  .ls-learn-lesson-canvas,
  .ls-learn-story-section,
  .ls-learn-support-section,
  .ls-learn-test-empty,
  .ls-learn-test-picker,
  .ls-learn-topic-hero,
  .ls-learn-utility-card
) {
  border-width: 1px !important;
  border-color: var(--ls-dark-line-subtle) !important;
}

html.ls-dark-mode :is(
  .ls-learn-question-field,
  .ls-learn-progress-track,
  .ls-learn-test-count
) {
  border-width: 1px !important;
  border-color: var(--ls-dark-line-muted) !important;
}

/* Practice: repeated tiles and review containers should read as one workspace. */
html.ls-dark-mode :is(
  .ls-practice-next-session,
  .ls-practice-due-row,
  .ls-practice-utility-card,
  .ls-practice-latest-topic,
  .ls-practice-config-section,
  .ls-practice-course-review-host,
  .ls-practice-question,
  .ls-practice-retention-card,
  .ls-practice-review-queue,
  .ls-practice-review-summary,
  .ls-practice-skeleton-question,
  .ls-practice-test-skeleton
) {
  border-width: 1px !important;
  border-color: var(--ls-dark-line-subtle) !important;
}

html.ls-dark-mode :is(
  .ls-practice-utility-card,
  .ls-practice-retention-card,
  .ls-practice-skeleton-question
) {
  box-shadow: var(--ls-dark-shadow-quiet) !important;
}

/* Course Review: keep active progress and quiz choices intact. */
html.ls-dark-mode :is(
  .ls-course-review-shell,
  .ls-course-review-intro,
  .ls-course-review-form,
  .ls-course-review-empty,
  .ls-course-review-overview,
  .ls-course-review-sidebar,
  .ls-course-review-lesson-panel,
  .ls-course-review-image-board,
  .ls-course-review-utility-card,
  .ls-course-review-lesson-path,
  .ls-course-review-section,
  .ls-course-review-quiz-item,
  .ls-course-review-takeaway,
  .ls-course-review-prompt,
  .ls-course-review-comeback,
  .ls-course-review-prompt-answer,
  .ls-course-review-worked-example,
  .ls-course-review-flashcard
) {
  border-width: 1px !important;
  border-color: var(--ls-dark-line-subtle) !important;
}

html.ls-dark-mode :is(
  .ls-course-review-progress li:not([data-state="active"]):not([data-state="done"]),
  .ls-course-review-spine li
) {
  border-width: 1px !important;
  border-color: var(--ls-dark-line-muted) !important;
}

/* Test generation, loading, feedback, and saved-result structure. */
html.ls-dark-mode :is(
  .learnstack-test-loading-shell,
  .learnstack-test-loading-status,
  .learnstack-test-placeholder,
  .placeholder-row,
  .ls-calculator-panel,
  .repair-blank-card,
  .repair-item,
  .review-repair-panel
) {
  border-width: 1px !important;
  border-color: var(--ls-dark-line-subtle) !important;
}

/* Catch passive utility-card markup produced by the application bundle. */
html.ls-dark-mode body :is(
  main,
  [data-slot="tabs-content"],
  [role="dialog"]
) :where(section, article, aside, fieldset, form, li, div)[class~="border"][class~="border-border"],
html.ls-dark-mode body :is(
  main,
  [data-slot="tabs-content"],
  [role="dialog"]
) :where(section, article, aside, fieldset, form, li, div)[class~="border"][class~="border-slate-200"] {
  border-width: 1px !important;
  border-color: var(--ls-dark-line-subtle) !important;
}