/* Strong classroom palettes. Intentionally after the legacy !important colors.
   Only teaching roots opt in; Classic, semantic statuses and authored media stay intact. */
[data-ct-theme]:not([data-ct-theme="classic"]) .page {
  background-color: transparent !important;
}
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.page-header, .module-workspace-header, .conversation-workspace-header) {
  background-color: var(--ct-chrome) !important;
  color: #fff; border-color: var(--ct-chrome); border-bottom: 5px solid var(--ct-pop);
  box-shadow: 0 8px 0 var(--ct-line);
}
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.page-header, .module-workspace-header, .conversation-workspace-header) :is(h1, h2, p, .eyebrow, .workspace-objective) {
  color: #fff !important;
}
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.level-card, .block-card, .module-card, .tool-card, .class-list) {
  background-color: var(--ct-stage) !important; border-color: var(--ct-line);
  color: var(--ct-ink); box-shadow: 0 6px 0 var(--ct-line);
}
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.level-card, .block-card, .module-card, .tool-card) :is(h2, h3, p) { color: var(--ct-ink); }
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.level-card-accent, .block-accent),
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.module-card, .tool-card)::before {
  background-color: var(--ct-pop) !important;
}
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.module-controls, .classroom-toolstrip, .media-controls, .shared-teaching-header, .class-presentation-controls) {
  background-color: var(--ct-soft) !important; color: var(--ct-ink); border-color: var(--ct-line);
}
[data-ct-theme]:not([data-ct-theme="classic"]) .module-controls label { color: var(--ct-ink); }
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.workspace-panel, .class-presentation) { border-color: var(--ct-line); }
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.class-presentation, .class-presentation-stage) {
  background-color: var(--ct-frame) !important;
}
[data-ct-theme]:not([data-ct-theme="classic"]) .class-presentation-message { color: var(--ct-ink); }
/* These are navigation controls, not drawing/text color swatches or status badges. */
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.back-link, .module-sibling-link, .media-tab, .materials-view-tab, .teaching-mode-tab, .workspace-resource-action, .workspace-action-details > summary, .filter-chip, .ct-launch, .class-presentation-controls .button, .classroom-toolstrip .whiteboard-tool) {
  background-color: var(--ct-stage) !important; color: var(--ct-accent) !important;
  border-color: var(--ct-line); box-shadow: 0 3px 0 var(--ct-line);
}
/* Disclosures are not buttons: give closed, hovered and expanded states an
   opaque surface instead of relying on the legacy gradient background. */
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.workspace-action-details > summary:hover, .workspace-action-details[open] > summary) {
  background-color: var(--ct-soft) !important; color: var(--ct-ink) !important;
  border-color: var(--ct-accent);
}
[data-ct-theme]:not([data-ct-theme="classic"]) .workspace-action-empty {
  background-color: var(--ct-stage) !important; color: var(--ct-ink) !important;
  border-color: var(--ct-line);
}
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.continue-class, .module-open-button, .level-card .button.primary, .tool-launch-button, .filter-chip.is-active, .media-tab.is-active, .materials-view-tab.is-active, .teaching-mode-tab.is-active, .classroom-toolstrip .whiteboard-tool.is-active, [data-student-presentation][aria-pressed="true"], [data-focus-mode-toggle][aria-pressed="true"]) {
  background-color: var(--ct-accent) !important; color: #fff !important;
  border-color: var(--ct-accent); outline-color: var(--ct-accent);
  box-shadow: 0 3px 0 var(--ct-chrome);
}
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.level-icon, .block-icon, .block-action .arrow, .materials-view-tab-icon) {
  background-color: var(--ct-pop) !important; color: var(--ct-ink) !important;
}
[data-ct-theme]:not([data-ct-theme="classic"]) .materials-view-tab small { color: inherit; }
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.module-number, .block-number, .header-meta) {
  background-color: var(--ct-soft) !important; color: var(--ct-ink) !important;
  border-color: var(--ct-line);
}
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.level-card, .block-card, .module-card, .tool-card):hover {
  border-color: var(--ct-accent);
}
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.module-card, .media-tab, .filter-chip, .ct-launch, .classroom-toolstrip button):focus-visible {
  outline: 3px solid var(--ct-accent); outline-offset: 3px;
}
/* Header controls sit on dark chrome, so their focus indicator must be light. */
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.page-header, .module-workspace-header, .conversation-workspace-header) :is(a, button, summary):focus-visible {
  outline: 3px solid #fff; outline-offset: 3px;
}

/* Preview the palette as well as its illustration before choosing an environment. */
.ct-choice { border-top: 5px solid var(--choice-chrome); }
.ct-choice[aria-pressed="true"] { border-color: var(--choice-chrome); background: var(--choice-soft); box-shadow: 0 0 0 1px var(--choice-chrome); }
.ct-choice:focus-visible { outline-color: var(--choice-chrome); }
.ct-palette { display: flex; width: 100%; height: 10px; border-radius: 5px; overflow: hidden; }
.ct-palette span { flex: 1; background: var(--choice-chrome); }
.ct-palette span:nth-child(2) { background: var(--choice-accent); }
.ct-palette span:nth-child(3) { background: var(--choice-pop); }
.ct-palette span:nth-child(4) { background: var(--choice-soft); }
