/* Decorative presentation layer. Classic and administrative routes retain their styles.
   Never recolor teaching images, canvases, text authored by teachers, or semantic badges. */
.ct-controls { display:flex; justify-content:flex-end; margin:0 0 14px; }
.ct-launch { gap:8px; font-size:13px; min-height:42px; }
.ct-launch strong { font-weight:800; }
.ct-dialog { width:min(860px,calc(100vw - 32px)); max-height:90dvh; overflow:auto; padding:24px; margin:auto; border:1px solid #dfd7ef; border-radius:24px; background:#fff; color:#26165c; box-shadow:0 24px 80px #20114233; }
.ct-dialog:not([open]) { display:none; }
.ct-dialog::backdrop { background:#160c3570; }
.ct-header { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.ct-header p { font-size:11px; font-weight:800; letter-spacing:.1em; margin:0 0 8px; }
.ct-header h2 { font-size:clamp(22px,3vw,30px); margin:0; }
.ct-close { border:1px solid #dfd7ef; border-radius:50%; background:#fff; color:#26165c; font-size:26px; width:42px; height:42px; cursor:pointer; flex:none; }
.ct-intro,.ct-status,.ct-footer p { font-size:14px; line-height:1.5; }
.ct-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:20px 0; }
.ct-choice { display:flex; flex-direction:column; text-align:left; gap:6px; padding:10px; border:2px solid #e6dff2; border-radius:16px; color:#26165c; background:#fff; font:inherit; cursor:pointer; min-width:0; }
.ct-choice[aria-pressed="true"] { border-color:#643cbd; background:#f5f0ff; box-shadow:0 0 0 1px #643cbd; }
.ct-choice img,.ct-classic-preview { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; border-radius:9px; background:#faf8ff; }
.ct-classic-preview { display:grid; place-items:center; background:#eee7ff; font-weight:900; font-size:24px; color:#32177d; }
.ct-choice strong { font-size:15px; }
.ct-choice small { font-size:12px; color:#625773; }
.ct-decoration { display:flex; flex-wrap:wrap; gap:14px; border:1px solid #e6dff2; border-radius:12px; padding:14px; }
.ct-decoration legend { font-weight:800; padding:0 6px; }
.ct-decoration label { display:flex; align-items:center; gap:8px; min-height:32px; }
.ct-decoration input { accent-color:#643cbd; width:18px; height:18px; }
.ct-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; border-top:1px solid #e6dff2; }
.ct-footer p { max-width:480px; color:#625773; }
.ct-dialog :is(button,input):focus-visible,.ct-launch:focus-visible { outline:3px solid #6841bf; outline-offset:3px; }
.is-focus-mode .ct-controls { display:none; }

.main-area[data-ct-theme]:not([data-ct-theme="classic"]) {
  background-color:var(--ct-stage) !important;
  background-image:var(--ct-art,none) !important;
  background-position:center top; background-size:cover; background-repeat:no-repeat;
}
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.page-header,.module-workspace-header,.conversation-workspace-header,.conversation-stage,.workspace-panel,.level-card,.block-card,.module-card,.cs-practice) { border-color:var(--ct-line); }
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.page-header h1,.module-workspace-title h1,.conversation-workspace-heading h1,.cs-practice h2) { color:var(--ct-ink); }
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.media-tab.is-active,.teaching-mode-tab.is-active,.materials-view-tab.is-active) {
  background-color:var(--ct-soft) !important; color:var(--ct-accent) !important; border-color:var(--ct-line);
}
[data-ct-theme]:not([data-ct-theme="classic"]) .cs-mode-buttons button[aria-pressed="true"] {
  background-color:var(--ct-soft); color:var(--ct-accent); border-color:var(--ct-accent);
}
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.cs-model,.cs-open-response) { background-color:var(--ct-soft); color:var(--ct-ink); }
[data-ct-theme]:not([data-ct-theme="classic"]) .cs-choices > div { border-color:var(--ct-line); }
[data-ct-theme]:not([data-ct-theme="classic"]) :is(.cs-practice-preview,.teaching-mode-content) {
  background-color:var(--ct-stage);
  background-image:var(--ct-art,none) !important;
  background-position:center; background-size:cover; background-repeat:no-repeat;
}
[data-ct-theme]:not([data-ct-theme="classic"]) .cs-practice-preview { padding:24px clamp(20px,6vw,95px); }
[data-ct-theme]:not([data-ct-theme="classic"]) .cs-practice-preview > .cs-practice-card { background:#fff; border-radius:16px; padding:20px; }
[data-ct-theme]:not([data-ct-theme="classic"]) .teaching-mode-content { padding:14px; }
.module-workspace-page[data-ct-theme]:not([data-ct-theme="classic"]):fullscreen {
  background-color:var(--ct-stage) !important; background-image:var(--ct-art,none) !important;
  background-position:center; background-size:cover; background-repeat:no-repeat;
}
.shared-teaching-workspace[data-ct-theme]:not([data-ct-theme="classic"]).is-presenting .teaching-mode-content {
  padding:20px 5%;
}
.cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) {
  background-color:var(--ct-stage); background-image:var(--ct-art,none) !important;
  background-position:center; background-size:cover; background-repeat:no-repeat;
  padding:18px;
}
.cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) .cs-present-controls {
  background:#fff; border:1px solid var(--ct-line); border-radius:12px; padding:12px; position:relative;
}
.cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) .cs-present-content {
  margin:24px clamp(20px,7vw,110px); padding:24px; background:#fff; border:1px solid var(--ct-line); border-radius:20px;
}
.cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) .cs-present-content h2 { color:var(--ct-ink); }
.cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) .cs-presentation-audio { background:#fff; padding:12px; border-radius:12px; }
@media (min-width:701px) and (max-height:850px) {
  .cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) .cs-present-content { margin-block:14px; padding:14px; }
  .cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) .cs-present-content h2 { font-size:clamp(26px,2.7vw,38px); margin:8px 0; }
  .cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) .cs-instruction-pl { font-size:21px; margin:6px 0; }
  .cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) .cs-model { font-size:34px; padding:12px; }
  .cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) .cs-choices { margin-top:12px; }
  .cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) .cs-choices strong { font-size:22px; }
  .cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) .cs-choices .cs-image-shell { width:110px; }
  .cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) .cs-scene-reference { margin:8px auto; }
}
@media (max-width:700px) {
  .ct-controls { justify-content:stretch; }
  .ct-launch { width:100%; font-size:12px; }
  .ct-dialog { padding:16px; }
  .ct-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .ct-choice strong { font-size:13px; }
  .ct-footer { align-items:flex-start; }
  [data-ct-theme]:not([data-ct-theme="classic"]) .cs-practice-preview { padding:18px 12px; }
  [data-ct-theme]:not([data-ct-theme="classic"]) .cs-practice-preview > .cs-practice-card { padding:12px; }
  .cs-presentation[data-ct-theme]:not([data-ct-theme="classic"]) .cs-present-content { margin:18px 4px; padding:12px; }
  .shared-teaching-workspace[data-ct-theme]:not([data-ct-theme="classic"]).is-presenting .teaching-mode-content { padding:18px 12px; }
}
