/* Light values for the shared Sol palette. Dark values live at the declaration sites. */
html[data-site-theme="day"] {
  --site-color-scheme: light;
  --site-page: #f3f6fc;
  --site-surface: #fff;
  --site-surface-start: #fbfcff;
  --site-surface-muted: #eaf0f9;
  --site-inset: #eaf0f9bb;
  --site-surface-glass: #fffffff0;
  --site-nav: #f9fbffef;
  --site-control: #f3f7fd;
  --site-hover: #e2edfc;
  --site-selected: #dceaff;
  --site-ink: #17253d;
  --site-ink-secondary: #334661;
  --site-muted: #475b75;
  --site-accent: #174eaa;
  --site-accent-secondary: #594695;
  --site-primary: #174eaa;
  --site-primary-hover: #103e8d;
  --site-on-primary: #fff;
  --site-line: #50668538;
  --site-control-line: #657b99;
  --site-accent-line: #245bb4;
  --site-accent-wash: #3575da18;
  --site-selection: #3575da35;
  --site-scroll-thumb: #7489a6;
  --site-success: #17573e;
  --site-success-bg: #e1f5ea;
  --site-success-line: #367e60;
  --site-danger: #92283c;
  --site-danger-bg: #fce9ed;
  --site-danger-hover: #f9dbe2;
  --site-danger-line: #ad5064;
  --site-backdrop: #15233cb3;
  --site-drawer-backdrop: #15233c91;
  --site-subtle-backdrop: #15233c29;
  --site-ambient: #3e78ce12;
  --site-ambient-secondary: #7057b411;
}

@layer sol-site {
  html[data-theme-changing] :is(button, .btn, [role="button"], [role="tab"], a, input, select, textarea) {
    transition-property: none !important;
  }

  /* Match the regular controls' cascade for their interactive states. */
  html[data-site-theme="day"][data-site-palette="sol"] :is(
    button, .btn, [role="button"], [role="tab"], .course-tab, .fc-tab, .sm-cover-tabs button,
    .vpn-plan-card, .mpm-moodle-model-toggle
  ):is(.selected, .active, .is-selected, [aria-pressed="true"], [aria-selected="true"]):not(:disabled) {
    color: var(--site-accent) !important;
    -webkit-text-fill-color: currentColor !important;
    background: var(--site-selected) !important;
    border-color: var(--site-accent-line) !important;
  }

  html[data-site-theme="day"][data-site-palette="sol"] :is(
    button, .btn, [role="button"], [role="tab"], .vpn-plan-card, .mpm-moodle-model-toggle
  ):is(.selected, .active, .is-selected, [aria-pressed="true"], [aria-selected="true"]):not(:disabled):hover {
    background: #cbdfff !important;
  }

  html[data-site-theme="day"][data-site-palette="sol"] :is(
    button.course-nav-backdrop, button.modal-backdrop, button.drawer-backdrop,
    button.history-backdrop, .desktop-workspace-learning-toggle, .desktop-workspace-learning-toggle .learning-chevron
  ) {
    box-shadow: none !important;
  }

  html[data-site-theme="day"][data-site-palette="sol"] button.course-nav-backdrop {
    background: var(--site-subtle-backdrop) !important;
  }

  html[data-site-theme="day"][data-site-palette="sol"] :is(
    .desktop-workspace-learning-toggle, .desktop-workspace-learning-toggle .learning-chevron,
    .chat-model-dropdown select, .composer
  ) {
    background: transparent !important;
  }

  html[data-site-theme="day"][data-site-palette="sol"] .desktop-workspace-learning-toggle:hover {
    background: var(--site-accent-wash) !important;
  }

  html[data-site-theme="day"][data-site-palette="sol"] :is(.sm-cover-tabs button, .mpm-moodle-model-toggle, .vpn-plan-card) :is(b, strong, small, svg) {
    color: inherit !important;
  }
}

@layer sol-site {
  html body > button.site-theme-toggle {
    position: fixed;
    inset-inline-end: max(12px, env(safe-area-inset-right));
    inset-block-end: max(16px, env(safe-area-inset-bottom));
    z-index: 1040;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--site-control-line, #c4a47780) !important;
    border-radius: 12px !important;
    color: var(--site-accent, #edc780) !important;
    background: color-mix(in srgb, var(--site-surface, #171728) 92%, transparent) !important;
    box-shadow: 0 3px 12px #121c3826 !important;
    backdrop-filter: blur(12px);
    cursor: pointer;
  }

  html body > button.site-theme-toggle:hover {
    background: color-mix(in srgb, var(--site-hover, #2b253b) 95%, transparent) !important;
  }

  html body > button.site-theme-toggle:focus-visible {
    outline: 2px solid var(--site-accent, #edc780) !important;
    outline-offset: 3px;
  }

  .site-theme-toggle svg { width: 19px; height: 19px; }
  .site-theme-toggle .site-theme-moon,
  .site-theme-toggle[aria-pressed="true"] .site-theme-sun { display: none; }
  .site-theme-toggle[aria-pressed="true"] .site-theme-moon { display: block; }

  @media (max-width: 979px) {
    html body:has(.bottom-nav) > button.site-theme-toggle {
      inset-block-end: calc(72px + env(safe-area-inset-bottom));
    }
  }

  html body:has(.composer) > button.site-theme-toggle {
    inset-block-start: 68px;
    inset-block-end: auto;
  }
}

/* Standalone shells, transitions, and browser-native controls. */
html[data-site-theme="day"]:not([data-theme-embedded]) {
  background: var(--site-page);
  scrollbar-color: var(--site-scroll-thumb) var(--site-surface-muted);
}

html[data-site-theme="day"] :is(.startup-loader, .app-loader, .navigation-loader, .ft-mobile-body) {
  background: var(--site-page) !important;
  color: var(--site-ink) !important;
}

html[data-site-theme="day"] :is(.startup-loader, .app-loader, .navigation-loader) :is(strong, small, span:not([class])) {
  color: var(--site-ink) !important;
}

html[data-site-theme="day"][data-theme-embedded] :is(body, #scroller, #message) {
  background: var(--site-page);
  color: var(--site-ink);
}

html[data-site-theme="day"][data-site-palette="sol"] :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline-color: var(--site-accent) !important;
}

html[data-site-theme="day"][data-site-palette="sol"] :is(.muted, .hint, .empty-state, .app-empty, .description) {
  color: var(--site-muted);
}

/* Navigation panels and menus use translucent surfaces with readable foregrounds. */
html[data-site-theme="day"] :is(
  .history-panel, .history-panel-head, .chat-tools-panel, .chat-model-dropdown,
  .sm-file-tools, .sm-section-tools, .ps-card-downloads, .progress-menu
) {
  background: var(--site-nav) !important;
  border-color: var(--site-line) !important;
  color: var(--site-ink) !important;
}

html[data-site-theme="day"] .history-panel
  :is(a, .sidebar-menu-row, .desktop-workspace-history-empty) {
  color: var(--site-ink) !important;
}

html[data-site-theme="day"] .history-panel
  :is(a, .sidebar-menu-row):hover {
  background-color: var(--site-accent-wash) !important;
  color: var(--site-accent) !important;
}

html[data-site-theme="day"] :is(
  .mpm-bulk-backdrop, .mpm-result-backdrop, .sm-modal-backdrop, .vpn-modal-backdrop, .pv-build-backdrop,
  .ps-wizard-backdrop, .auth-backdrop, .app-modal-backdrop
) {
  background-color: var(--site-drawer-backdrop) !important;
}

/* Feature surfaces whose styles are loaded after the shared layout. */
html[data-site-theme="day"] :is(
  .admin-main, .welcome-page, .welcome-step, .welcome-promo, .welcome-start,
  .sol-experience, .me-page, .vpn-page, .sm-page, .presentation-page, .ecg-page, .ea-page, .tests-root,
  .learning-page, .max-page, .vk-page, .clinical-page, .clinical-document-page
) {
  background: var(--site-page) !important;
  color: var(--site-ink) !important;
}

html[data-site-theme="day"] :is(
  .clinical-search-card, .clinical-table-wrap, .clinical-doc-header, .clinical-toc, .clinical-reader-tools,
  .clinical-reader, .clinical-section, .clinical-content-card, .chat-history-dialog,
  .admin-stat-card, .admin-table, .ps-library-card, .ps-export-card, .ps-empty, .pv-toolbar, .pv-build-dialog,
  .presentation-wizard, .presentation-cost-item, .sm-subject, .sm-unit, .sm-dialog, .sm-cover-dialog,
  .sm-download-dialog, .sm-upload-dialog, .sm-upload-item, .sm-empty, .sm-office-fallback,
  .vpn-page .vpn-network, .vpn-page .vpn-hero, .vpn-page .vpn-card, .vpn-dialog, .vpn-trial-dialog,
  .vpn-wait-dialog, .vpn-network-server, .mpm-moodle-panel, .mpm-bulk-modal, .mpm-result-modal,
  .max-card, .vk-card, .ft-card, .ft-dropzone, .ft-file, .ea-result, .ea-drop, .me-card, .package-card,
  .help-answer, .randomizer, .legal-content, .container > .card, .example, .example-row, .ai-chart-card, .ai-chart-canvas-wrap
) {
  background: var(--site-surface-glass) !important;
  border-color: var(--site-line) !important;
  color: var(--site-ink) !important;
}

html[data-site-theme="day"] :is(.vpn-page .vpn-trial, .vpn-plan-card, .sm-unit-head, .sm-viewer-bar, .sm-editor-bar, .sm-upload-footer,
  .presentation-wizard-progress, .ps-progress, .mpm-moodle-toolbar, .mpm-moodle-panel-body, .admin-tabs) {
  background: var(--site-nav) !important;
  border-color: var(--site-control-line) !important;
  color: var(--site-ink) !important;
}

html[data-site-theme="day"] :is(
  .sm-file-name, .sm-viewer-title, .sm-upload-item-head, .sm-upload-section-label, .sm-title,
  .ps-library-heading, .ps-heading, .ps-result-heading, .pv-heading, .vpn-page .vpn-network-heading h2,
  .vpn-page .vpn-network-server h3, .vpn-page .vpn-card-heading, .vpn-hero-tagline,
  .admin-sidebar a, .admin-sidebar summary, .admin-header strong, .clinical-title a, .clinical-toc a
) {
  color: var(--site-ink) !important;
}

html[data-site-theme="day"] :is(
  .welcome-content > p, .welcome-caption, .clinical-source, .clinical-doc-meta, .clinical-doc-header p,
  .clinical-hero p, .sm-viewer-meta, .sm-upload-item-meta, .sm-upload-section-hint, .sm-dialog-meta,
  .sm-viewer-loading, .sm-download-loading, .sm-unit-count, .ps-card-status, .ps-template-loading,
  .vpn-network-heading p, .vpn-network-server > p, .vpn-network-state, .vpn-network-footer, .vpn-network-caption,
  .vpn-network-index, .mpm-moodle-model-label, .mpm-practice-status, .mpm-bulk-modal-legend,
  .ft-brand span, .ft-send-title p, .ft-send-footer, .ft-dropzone span, .ea-hint
) {
  color: var(--site-muted) !important;
}

html[data-site-theme="day"] :is(.welcome-content h1 span, .welcome-brand-text, .home-brand-med, .home-brand-rest,
  .vpn-hero-title, .sol-reveal h1 span) {
  background-image: linear-gradient(105deg, var(--site-ink), var(--site-accent), var(--site-accent-secondary)) !important;
}

html[data-site-theme="day"] :is(.sm-upload-error, .sm-form-error, .pv-loading-error, .checkout-error, .mpm-bulk-modal-message.is-error) {
  color: var(--site-danger) !important;
  border-color: var(--site-danger-line) !important;
}

html[data-site-theme="day"] :is(.sm-upload-track, .presentation-wizard-progress, .mpm-bulk-progress-track, .pdf-loader-track) {
  background-color: var(--site-selected) !important;
}

html[data-site-theme="day"] :is(.presentation-wizard-progress-fill, .mpm-bulk-progress-fill, .pdf-loader-fill) {
  background: var(--site-primary) !important;
}

html[data-site-theme="day"] :is(.startup-spinner, .sm-viewer-spinner, .ps-card-spinner) {
  border-color: var(--site-accent-wash);
  border-top-color: var(--site-accent);
}

/* Surrounding ECG UI. Paper, trace, grid, labels, and rendering code are independent. */
html[data-site-theme="day"] :is(.ecg-controls, .bailey-card, .ecg-sheet-card, .ecg-mode-guide,
  .ecg-guide-card, .ecg-guide-check, .ea-upload-list) {
  background: var(--site-surface-glass) !important;
  color: var(--site-ink) !important;
  border-color: var(--site-line) !important;
}

html[data-site-theme="day"] :is(.ecg-heading p, .ecg-note, .ecg-guide-subtitle, .ecg-guide-card p, .ecg-guide-leads-label) {
  color: var(--site-muted) !important;
}

html[data-site-theme="day"] :is(.ecg-guide-title, .ecg-guide-card-head, .ecg-guide-card b, .ecg-guide-check b,
  .ecg-guide-num, .ecg-guide-badge, .ecg-guide-lead) {
  color: var(--site-accent) !important;
}

html[data-site-theme="day"] :is(.ecg-guide-num, .ecg-guide-badge, .ecg-guide-lead) {
  background: var(--site-accent-wash) !important;
  border-color: var(--site-line) !important;
}

html[data-site-theme="day"] .admin-shell {
  background: transparent !important;
  border-color: var(--site-line) !important;
}

html[data-site-theme="day"] :is(.admin-sidebar, .chat-background-upload) {
  background: var(--site-nav) !important;
  color: var(--site-ink) !important;
  border-color: var(--site-line) !important;
}

html[data-site-theme="day"] .chat-background-upload small { color: var(--site-muted); }
html[data-site-theme="day"] .chat-background-upload.failed small { color: var(--site-danger); }
html[data-site-theme="day"] .chat-upload-ring {
  background: conic-gradient(var(--site-primary) var(--upload-progress), var(--site-selected) 0);
}
html[data-site-theme="day"] .chat-upload-ring::after { background: var(--site-surface); }

html[data-site-theme="day"] .trainer-theme-toggle[aria-pressed="true"] {
  background: var(--site-selected);
  border-color: var(--site-accent-line);
  color: var(--site-accent);
}
html[data-site-theme="day"] .trainer-theme-toggle[aria-pressed="true"]:hover { background: #cbdfff; }

html[data-site-theme="day"] body[data-moodle-connect-entry] {
  background: var(--site-page);
  color: var(--site-ink);
}
html[data-site-theme="day"] body[data-moodle-connect-entry] a { color: var(--site-accent); }
html[data-site-theme="day"] .moodle-connect {
  background: var(--site-surface-glass);
  color: var(--site-ink);
  border-color: var(--site-line);
}
html[data-site-theme="day"] .moodle-connect :is(p, small, .moodle-connect-status) {
  color: var(--site-muted);
}

html[data-site-theme="day"] .welcome-page {
  --welcome-bg: var(--site-page);
  --welcome-bg-soft: var(--site-surface-muted);
  --welcome-surface: #ffffffc2;
  --welcome-surface-solid: var(--site-surface);
  --welcome-card: var(--site-surface);
  --welcome-line: var(--site-line);
  --welcome-text: var(--site-ink);
  --welcome-muted: var(--site-muted);
  --welcome-blue: var(--site-accent);
  --welcome-green: var(--site-success);
  --welcome-violet: var(--site-accent-secondary);
}
html[data-site-theme="day"] .welcome-header.is-scrolled {
  background: #f9fbffc7;
  border-color: var(--site-line);
}
html[data-site-theme="day"] .welcome-header-button {
  background: var(--site-accent-wash);
  border-color: var(--site-accent-line);
  color: var(--site-accent);
}
html[data-site-theme="day"] .welcome-header-button:hover { background: var(--site-selected); }

html[data-site-theme="day"] :is(.buy-package, .ft-send-shell .ft-send-button, .vpn-network-refresh, .help-suggestions button) {
  background: var(--site-control) !important;
  color: var(--site-accent) !important;
  border-color: var(--site-control-line) !important;
}
html[data-site-theme="day"] :is(.buy-package, .ft-send-shell .ft-send-button, .vpn-network-refresh, .help-suggestions button):hover {
  background: var(--site-hover) !important;
  color: var(--site-accent) !important;
}

html[data-site-theme="day"] :is(.ma-eyebrow, .ma-count span, .ma-drop small, .payments-summary .metric span, .admin-header p) {
  color: var(--site-muted) !important;
}
html[data-site-theme="day"] :is(.ma-drop, .payments-filters .filter b, .payment-status-badge) {
  background: var(--site-control) !important;
  color: var(--site-ink) !important;
  border-color: var(--site-line) !important;
}
html[data-site-theme="day"] .payment-status-badge.paid {
  background: var(--site-success-bg) !important;
  color: var(--site-success) !important;
}
html[data-site-theme="day"] .payment-status-badge:is(.failed, .cancelled) {
  background: var(--site-danger-bg) !important;
  color: var(--site-danger) !important;
}

/* Desktop workspace: the same palette covers the fixed panel, rail and injected rows. */
@layer sol-site {
  html[data-site-theme="day"] #desktop-workspace-navigation {
    background: linear-gradient(180deg, var(--site-surface), var(--site-page)) !important;
    color: var(--site-ink) !important;
    border-color: var(--site-line) !important;
  }

  html[data-site-theme="day"].desktop-workspace-navigation-collapsed #desktop-workspace-rail {
    background: var(--site-page) !important;
    border-color: var(--site-line) !important;
  }

  html[data-site-theme="day"] #desktop-workspace-navigation :is(
    .desktop-workspace-brand, .desktop-workspace-links a, .desktop-workspace-learning-toggle,
    .desktop-workspace-history-chat, .desktop-workspace-footer a, .desktop-workspace-promo
  ) {
    color: var(--site-ink) !important;
  }

  html[data-site-theme="day"] #desktop-workspace-navigation :is(
    .desktop-workspace-brand small, .desktop-workspace-links p, .desktop-workspace-history > p,
    .desktop-workspace-history-empty, .desktop-workspace-history.is-guest > span,
    .desktop-workspace-footer span, .desktop-workspace-promo small
  ) {
    color: var(--site-muted) !important;
  }

  html[data-site-theme="day"] #desktop-workspace-navigation :is(
    .desktop-workspace-topbar, .desktop-workspace-history, .desktop-workspace-footer, .desktop-workspace-learning-menu
  ) {
    border-color: var(--site-line) !important;
  }

  html[data-site-theme="day"] #desktop-workspace-navigation :is(
    .desktop-workspace-links svg, .desktop-workspace-history svg, .desktop-workspace-promo i
  ) {
    color: var(--site-accent) !important;
  }

  html[data-site-theme="day"] #desktop-workspace-navigation :is(
    .desktop-workspace-learning-toggle svg, .desktop-workspace-learning-menu svg, .desktop-workspace-promo svg
  ) {
    stroke: var(--site-accent) !important;
  }

  html[data-site-theme="day"] #desktop-workspace-navigation :is(
    .desktop-workspace-login, .desktop-workspace-footer a, .desktop-workspace-promo
  ) {
    background: var(--site-accent-wash) !important;
    color: var(--site-accent) !important;
    border-color: var(--site-line) !important;
  }

  html[data-site-theme="day"] #desktop-workspace-navigation :is(
    .desktop-workspace-login, .desktop-workspace-footer a, .desktop-workspace-promo, .desktop-workspace-links a
  ):hover,
  html[data-site-theme="day"] #desktop-workspace-navigation .desktop-workspace-history-row:is(:hover, :focus-within) {
    background: var(--site-accent-wash) !important;
    color: var(--site-accent) !important;
    border-color: var(--site-accent-line) !important;
  }

  html[data-site-theme="day"] #desktop-workspace-navigation .desktop-workspace-links a:is(.active, [aria-current="page"]) {
    background: var(--site-selected) !important;
    color: var(--site-accent) !important;
    border-color: var(--site-accent-line) !important;
  }

  html[data-site-theme="day"] #desktop-workspace-navigation .desktop-workspace-history-action::after {
    background: var(--site-surface) !important;
    border-color: var(--site-line) !important;
    color: var(--site-ink) !important;
  }
}

/* Public home. Glass panels retain their translucency on the day background. */
html[data-site-theme="day"] .welcome-page :is(.welcome-extension, .welcome-openai, .welcome-visual),
html[data-site-theme="day"] .home-sol-link {
  background: linear-gradient(135deg, #ffffffee, #eaf0f9dc) !important;
  border-color: var(--site-line) !important;
  color: var(--site-ink) !important;
  box-shadow: 0 16px 40px #263e641c !important;
}

html[data-site-theme="day"] .home-sol-link:hover { border-color: var(--site-accent-line) !important; }
html[data-site-theme="day"] :is(.home-sol-copy > small, .home-sol-copy b, .home-sol-arrow) {
  color: var(--site-accent) !important;
}
html[data-site-theme="day"] .home-sol-copy > span { color: var(--site-muted) !important; }

html[data-site-theme="day"] .welcome-metric:nth-child(1) { --metric-day: #5b4197; }
html[data-site-theme="day"] .welcome-metric:nth-child(2) { --metric-day: #056276; }
html[data-site-theme="day"] .welcome-metric:nth-child(3) { --metric-day: #19644d; }
html[data-site-theme="day"] .welcome-metric:nth-child(4) { --metric-day: #805400; }
html[data-site-theme="day"] .welcome-metric:nth-child(5) { --metric-day: #992c67; }
html[data-site-theme="day"] .welcome-metric:nth-child(6) { --metric-day: #2457a4; }
html[data-site-theme="day"] .welcome-metric :is(dd, .welcome-metric-icon) { color: var(--metric-day); }
html[data-site-theme="day"] .welcome-metric-line {
  background: var(--metric-day);
  box-shadow: none;
}

html[data-site-theme="day"] .welcome-page :is(
  .welcome-chips > span, .welcome-openai-status, .visual-message-user, .visual-message-ai, .visual-tools > span, .visual-input
) {
  background: var(--site-accent-wash) !important;
  color: var(--site-ink-secondary) !important;
  border-color: var(--site-line) !important;
}
html[data-site-theme="day"] .welcome-page :is(
  .visual-top b, .visual-message-ai p, .visual-message-ai p b, .welcome-openai-status span, .welcome-openai-status b
) { color: var(--site-ink-secondary) !important; }
html[data-site-theme="day"] .welcome-page :is(.visual-message-ai .mini-brand, .visual-input b) {
  background: var(--site-primary);
  color: var(--site-on-primary);
}
html[data-site-theme="day"] .welcome-openai-logo { background: var(--site-accent-wash); }
html[data-site-theme="day"] .openai-logo-night { display: none !important; }
html[data-site-theme="day"] .welcome-openai-logo .openai-logo-day { display: block !important; }
html[data-site-theme="day"] .welcome-extension-install {
  background: var(--site-primary);
  border-color: var(--site-accent-line);
  color: var(--site-on-primary) !important;
}
html[data-site-theme="day"] .welcome-extension-install:hover { background: var(--site-primary-hover); }
html[data-site-theme="day"] .welcome-extension-install small { color: var(--site-on-primary); }

/* Presentation library, including cards rendered after the library request. */
html[data-site-theme="day"] .ps-studio {
  --ps-border: var(--site-line);
  --ps-soft: var(--site-accent-wash);
}
html[data-site-theme="day"] .ps-hero {
  background: linear-gradient(135deg, #ffffffee, #e2edfcda) !important;
  border-color: var(--site-line) !important;
}
html[data-site-theme="day"] .ps-hero h2 { background: none !important; }
html[data-site-theme="day"] :is(.ps-eyebrow, .ps-library-heading a, #ps-library-count, .ps-pill, .ps-enlarge) {
  color: var(--site-accent) !important;
}
html[data-site-theme="day"] :is(.ps-pill, #ps-library-count) { background: var(--site-accent-wash); }
html[data-site-theme="day"] .ps-library-link .ps-file-copy h3 { color: var(--site-ink) !important; }
html[data-site-theme="day"] .ps-library-link .ps-file-copy small { color: var(--site-muted); }
html[data-site-theme="day"] .ps-create-button {
  background: var(--site-primary) !important;
  color: var(--site-on-primary) !important;
}
html[data-site-theme="day"] .ps-create-button:hover {
  background: var(--site-primary-hover) !important;
  color: var(--site-on-primary) !important;
}

/* Course dashboard, opened outline and lesson blocks share the same surfaces. */
html[data-site-theme="day"] .courses-root {
  --course-accent: var(--site-accent);
  --course-card: var(--site-surface);
  --course-soft: var(--site-accent-wash);
}

html[data-site-theme="day"] .courses-root :is(
  .course-card-progress-visual, .course-module-orbit, .course-module-orbit-more, .course-public-meta,
  .published-course-search, .courses-orbit-card, .courses-hero-metrics span,
  .course-nav-overview, .course-nav-overview .course-search, .course-nav .nav-module,
  .course-dashboard .metric-grid article, .dashboard-panels article,
  .lesson-settings-popover, .lesson-block-popover, .course-element-tutor, .element-tutor-message.assistant,
  .element-tutor-message.user
) {
  background: var(--site-inset) !important;
  color: var(--site-ink) !important;
  border-color: var(--site-line) !important;
  box-shadow: none !important;
}

html[data-site-theme="day"] .courses-root :is(
  .courses-hero-v2 h1 span, .course-nav-kicker, .course-nav-label,
  .orbit-label, .progress-orbit small, .course-level, .course-card-footer a, .course-type-label, .element-tutor-message small
) { color: var(--site-accent) !important; }

html[data-site-theme="day"] .courses-root :is(
  .courses-hero-copy > p, .course-card-v2 > p, .course-card-progress-copy > small,
  .course-card-progress-copy > span, .course-public-meta b, .course-card-footer > span, .metric-grid article > small,
  .course-element-tutor header > div > p:last-child, .element-tutor-controls small
) { color: var(--site-muted) !important; }

html[data-site-theme="day"] .courses-root :is(
  .courses-hero-metrics b, .progress-orbit b, .course-overall-orbit b, .course-card-v2 .course-card-top > b,
  .course-card-progress-copy > b, .course-module-orbit b, .course-public-meta > span,
  .metric-grid .metric-date, .course-nav-overview .course-progress b, .element-tutor-message-content
) { color: var(--site-ink) !important; }
html[data-site-theme="day"] .courses-root :is(.course-public-label, .course-complete-pill) {
  color: var(--site-success) !important;
}
html[data-site-theme="day"] .courses-root .course-overall-orbit small { color: var(--site-accent) !important; }

html[data-site-theme="day"] .courses-root .courses-aurora i:nth-child(-n + 2) {
  background: radial-gradient(circle, var(--site-selected), transparent 67%);
}
html[data-site-theme="day"] .courses-root .progress-orbit {
  background: conic-gradient(var(--site-primary) calc(var(--progress) * 1%), var(--site-selected) 0) !important;
}
html[data-site-theme="day"] .courses-root .course-overall-orbit {
  background: conic-gradient(var(--site-primary) calc(var(--course-progress) * 1%), var(--site-selected) 0) !important;
}
html[data-site-theme="day"] .courses-root .course-module-orbit-ring {
  background: conic-gradient(var(--site-primary) calc(var(--module-progress) * 1%), var(--site-selected) 0) !important;
}
html[data-site-theme="day"] .courses-root .course-overall-orbit::before,
html[data-site-theme="day"] .courses-root :is(.progress-orbit > div, .course-module-orbit-ring i) {
  background: var(--site-surface) !important;
  color: var(--site-accent) !important;
  box-shadow: none !important;
}
html[data-site-theme="day"] .courses-root .course-player > .course-player-toolbar {
  background: var(--site-nav) !important;
  color: var(--site-ink) !important;
  border-color: var(--site-line) !important;
}
html[data-site-theme="day"] .courses-root .course-home-button {
  background: var(--site-accent-wash) !important;
  border-color: var(--site-control-line) !important;
  color: var(--site-accent) !important;
}
html[data-site-theme="day"] .courses-root .course-home-button:hover { background: var(--site-hover) !important; }
html[data-site-theme="day"] .courses-root .course-home-button span { color: inherit; }

html[data-site-theme="day"] .courses-root :is(.course-type-icon, .course-type-done, .course-type-badge) {
  background: var(--site-accent-wash) !important;
  color: var(--site-accent) !important;
}

html[data-site-theme="day"] .courses-root .lesson :is(
  .course-algorithm > li, .course-callout, .course-checkpoint,
  .course-checkpoint > :is(summary, p), .comparison-card, .comparison-head > *, .comparison-row > *,
  .course-table-wrap, .course-table-wrap table, .course-table-wrap td, .course-formula code
) {
  background: var(--site-inset) !important;
  color: var(--site-ink) !important;
  border-color: var(--site-line) !important;
}
html[data-site-theme="day"] .courses-root .course-nav-overview .course-progress b::after {
  color: var(--site-accent);
}
html[data-site-theme="day"] .courses-root .lesson .course-algorithm > li::before {
  background: var(--site-selected);
  color: var(--site-accent);
  box-shadow: none;
}
html[data-site-theme="day"] .courses-root .lesson .course-callout {
  border-left-color: var(--site-accent-line) !important;
}
html[data-site-theme="day"] .courses-root .lesson .course-callout.clinical_pearl {
  background: #e1f5eabf !important;
  border-left-color: var(--site-success-line) !important;
}
html[data-site-theme="day"] .courses-root .lesson .course-callout.warning {
  background: #fce9edbf !important;
  border-left-color: var(--site-danger-line) !important;
}
html[data-site-theme="day"] .courses-root .lesson :is(.course-callout b, .course-callout p, .course-paragraph) {
  color: var(--site-ink) !important;
}

/* ECG interface controls only. No rules target the sheet, mini traces or their labels. */
html[data-site-theme="day"] .ecg-page :is(.ecg-mode-copy small, .ecg-mode-note, .ecg-rhythm-explain,
  .speed-title small, .hr-scale, .angle-scale) {
  color: var(--site-muted) !important;
}
html[data-site-theme="day"] .ecg-page :is(.control-kicker, .ecg-mode-kicker, .hr-title, .speed-title, .ecg-rhythm-field > span) {
  color: var(--site-accent) !important;
}
html[data-site-theme="day"] .ecg-page .hr-title strong { color: var(--site-ink) !important; }
html[data-site-theme="day"] .ecg-page :is(.hr-panel, .speed-panel) { border-color: var(--site-line); }
html[data-site-theme="day"] .ecg-page :is(.ecg-rhythm-options, .sheet-header .sheet-chip, .ecg-mode-button .ecg-mode-state) {
  background: var(--site-accent-wash) !important;
  color: var(--site-accent) !important;
  border-color: var(--site-line) !important;
}
html[data-site-theme="day"] .ecg-page .ecg-mode-button .ecg-mode-dot { background: var(--site-accent) !important; }
html[data-site-theme="day"] .ecg-page .ecg-mode-button.active .ecg-mode-state {
  background: #e1f5eabf !important;
  color: var(--site-success) !important;
}
html[data-site-theme="day"] .ecg-page .ecg-own-cta {
  background: var(--site-surface-glass) !important;
  border-color: var(--site-line) !important;
  color: var(--site-ink) !important;
}
html[data-site-theme="day"] .ecg-page .ecg-own-cta :is(p, small) { color: var(--site-muted) !important; }

html[data-site-theme="day"] .ecg-page :is(.ecg-controls, .bailey-card, .ecg-sheet-card) {
  box-shadow: 0 16px 42px #263e641c !important;
}

html[data-site-theme="day"] .ecg-page .ecg-back {
  background: var(--site-accent-wash) !important;
  border-color: var(--site-control-line) !important;
  color: var(--site-accent) !important;
}
html[data-site-theme="day"] .ecg-page .ecg-back:hover {
  background: var(--site-hover) !important;
}
