/* Reading and learning surfaces in the atlas's paper, ink and colour language.
   Layout, scientific figure sizes, data-category colours and reading preferences
   remain owned by their respective modules. */
body.studio-d.experience :is(.cw-workspace,.cp-practice,.cr-reader,.dw-workspace,.xn-lab) {
  --cw-accent:var(--electric); --cw-muted:var(--type-secondary);
  --cr-accent:var(--electric); --cr-border:var(--line); --cr-muted:var(--type-secondary);
  --dw-purple:var(--electric); --dw-muted:var(--type-secondary);
  --xn-ink:var(--ink); --xn-muted:var(--type-secondary); --xn-accent:var(--electric);
  color:var(--type-ink);
}

/* Course navigation uses small numbered index marks, rather than a tinted UI. */
body.studio-d.experience .cw-workspace .cw-nav-group > summary {
  padding:7px 24px 7px 10px; border-bottom:1px solid var(--line);
  color:var(--ink); font-size:11px; letter-spacing:.025em;
}
body.studio-d.experience .cw-workspace .cw-nav-group > summary::after { color:var(--electric); }
body.studio-d.experience .cw-workspace :is(.cw-module,.cw-anchor,.cw-practice-choice,.cw-case-entry) {
  color:var(--type-secondary)!important; border-radius:7px; border:1px solid transparent;
}
body.studio-d.experience .cw-workspace :is(.cw-module,.cw-anchor,.cw-practice-choice,.cw-case-entry):hover {
  color:var(--ink)!important; background:var(--paper-deep)!important;
}
body.studio-d.experience .cw-workspace :is(.cw-module[aria-selected="true"],.cw-anchor-active,.cw-practice-active,.cw-case-entry[aria-selected="true"]) {
  color:var(--ink)!important; border-color:var(--ink); background:var(--lemon)!important;
}
body.studio-d.experience .cw-workspace .cw-module-number {
  display:inline-flex; align-items:center; justify-content:center; flex-basis:22px; min-height:22px;
  padding:0; border:1px solid var(--line); border-radius:50%; background:var(--white);
  color:var(--electric)!important; opacity:1; font-size:10px;
}
body.studio-d.experience .cw-workspace .cw-module[aria-selected="true"] .cw-module-number {
  border-color:var(--ink); color:var(--white)!important; background:var(--electric);
}
body.studio-d.experience .cw-workspace :is(.cw-module-description,.cw-anchor-sub,.cw-nav-status,.cw-case-mark) { color:inherit!important; }
body.studio-d.experience .cw-reading-toolbar {
  min-height:42px; padding-bottom:12px; border-bottom:1px solid var(--line); color:var(--type-secondary);
}
body.studio-d.experience .cw-course-pagination { gap:7px; }
body.studio-d.experience .cw-workspace .cw-course-pagination button {
  min-height:30px; padding:5px 9px; border:1px solid var(--line); border-radius:7px;
  background:var(--white); color:var(--type-secondary); font-size:11px;
}
body.studio-d.experience .cw-workspace .cw-course-pagination button:hover:enabled { color:var(--ink); border-color:var(--ink); background:var(--lemon); }
body.studio-d.experience .cw-workspace .cw-course-pagination button:disabled { color:var(--type-muted); opacity:.5; }
body.studio-d.experience .cw-course-head { position:relative; padding-top:24px; }
body.studio-d.experience .cw-course-head .cw-kicker {
  display:inline-block; padding:3px 8px; border:1px solid var(--ink); border-radius:4px;
  color:var(--ink)!important; background:var(--lemon); font-size:10px; letter-spacing:.04em;
}
body.studio-d.experience :is(.cw-summary,.cp-current,.cp-summary,.cw-output-downloads h3,.cw-related-methods h3,.cp-output-downloads h3) { color:var(--type-secondary)!important; }
body.studio-d.experience :is(.cw-downloads,.cp-downloads) { gap:8px 12px; }
body.studio-d.experience :is(.cw-download,.cp-download) {
  display:inline-flex; align-items:center; gap:7px; min-height:31px; padding:5px 10px;
  border:1px solid var(--line); border-radius:7px!important; color:var(--electric)!important;
  background:var(--white); text-decoration:none; font-size:12px; line-height:1.6;
}
body.studio-d.experience :is(.cw-download,.cp-download):hover {
  color:var(--ink)!important; border-color:var(--ink); background:var(--lemon); text-decoration:none;
}
body.studio-d.experience :is(.cw-output-downloads,.cw-related-methods,.cp-output-downloads) { border-top:1px solid var(--line); padding-top:20px; }

/* Exercises have a compact coral index and connected paper tabs. */
body.studio-d.experience .cp-practice { padding-top:24px; border-top:2px solid var(--ink); }
body.studio-d.experience .cp-header { align-items:flex-start; }
body.studio-d.experience .cp-title { display:inline-block; position:relative; padding-left:18px; color:var(--ink); }
body.studio-d.experience .cp-title::before {
  content:''; position:absolute; left:0; top:.23em; width:9px; height:.8em;
  border:1px solid var(--ink); border-radius:3px; background:var(--coral); transform:rotate(-8deg);
}
body.studio-d.experience .cp-options { gap:7px; padding-bottom:22px; }
body.studio-d.experience .cp-practice .cp-option {
  border:1px solid var(--line); border-radius:7px; padding:7px 11px;
  color:var(--type-secondary); background:var(--white); font-size:12px;
}
body.studio-d.experience .cp-practice .cp-option:hover { color:var(--ink); border-color:var(--ink); background:var(--paper-deep); }
body.studio-d.experience .cp-practice .cp-option[aria-selected="true"] {
  color:var(--ink); border-color:var(--ink); background:var(--lemon); box-shadow:2px 2px 0 var(--ink);
}
body.studio-d.experience .cp-exercise-title { color:var(--ink); }

/* Embedded full-text reading: a small chapter tab and restrained source notes. */
body.studio-d.experience :is(.cr-reader,.dw-reading) :is(.cr-toc,.cr-code-section) {
  border-block:1px solid var(--line); background:transparent;
}
body.studio-d.experience .cr-reader details > summary { color:var(--ink); }
body.studio-d.experience .cr-reader details > summary::after { color:var(--electric); }
body.studio-d.experience .cr-reader :is(.cr-toc-list a,.cr-toc-list .cr-toc-sub,.cr-code-intro,.cr-status) { color:var(--type-secondary); }
body.studio-d.experience .cr-reader .cr-toc-list a:hover { color:var(--electric); }
body.studio-d.experience .cr-reader :is(.cr-code-file,.cr-source-file) > summary {
  border-bottom:1px solid var(--line); color:var(--ink)!important; background:var(--paper-deep);
  border-radius:7px!important; padding:9px 35px 9px 12px;
}
body.studio-d.experience :is(.cr-content,.dw-article) h2 {
  position:relative; padding-left:17px; border-top-color:var(--line); text-wrap:pretty;
}
body.studio-d.experience :is(.cr-content,.dw-article) h2::before {
  content:''; position:absolute; left:0; top:calc(24px + .24em); width:6px; height:.75em;
  border-radius:3px; background:var(--electric);
}
body.studio-d.experience .cr-content > h2:first-child { padding-top:0; border-top:0; }
body.studio-d.experience .cr-content > h2:first-child::before { top:.24em; }
body.studio-d.experience :is(.cr-content,.dw-article) h3 {
  text-decoration-line:underline; text-decoration-color:color-mix(in srgb,var(--coral) 65%,transparent);
  text-decoration-thickness:3px; text-underline-offset:6px; text-decoration-skip-ink:auto;
}
body.studio-d.experience :is(.cr-content,.dw-article) :is(figcaption,caption) {
  padding:9px 12px; border-left:2px solid var(--coral); background:var(--white);
  color:var(--type-secondary)!important; text-align:left; font-size:12px; line-height:1.75;
}
body.studio-d.experience :is(.cr-content,.dw-article) blockquote {
  border-left:3px solid var(--coral); border-radius:0 9px 9px 0; padding:10px 16px;
  color:var(--type-secondary)!important; background:#f9ece5!important;
}
body.studio-d.experience :is(.cr-table-scroll,.dw-table) { border:1px solid var(--line); border-radius:8px; scrollbar-color:var(--type-muted) transparent; }
body.studio-d.experience :is(.cr-content,.dw-article) :is(th,td) { border-bottom:1px solid var(--line)!important; }
body.studio-d.experience :is(.cr-content,.dw-article) th { background:var(--paper-deep)!important; }
body.studio-d.experience .cr-reader .cr-script {
  border:1px solid var(--ink); border-radius:8px; color:#f1f0e9; background:var(--ink); font-family:var(--font-code);
}
body.studio-d.experience .cr-reader :is(.cr-script code,.cr-content pre code) { color:inherit; font-family:var(--font-code); }
body.studio-d.experience .cr-reader .cr-retry {
  border:1px solid var(--ink); border-radius:7px; color:var(--ink); background:var(--lemon);
}
body.studio-d.experience :is(.cr-content,.dw-article) .footnotes { border-top-color:var(--line); color:var(--type-secondary); }

/* Documents use an editorial index, with generous title and compact metadata. */
body.studio-d.experience .dw-catalog-head { padding-bottom:17px; }
body.studio-d.experience .dw-catalog-head h2 { font-size:20px; }
body.studio-d.experience .dw-search {
  max-width:640px; min-height:40px; border-radius:24px; padding-inline:14px; background:var(--white);
}
body.studio-d.experience .dw-search svg { padding:3px; box-sizing:content-box; border-radius:50%; background:var(--lemon); color:var(--ink); }
body.studio-d.experience .dw-filters { gap:7px; padding:3px 3px 8px; }
body.studio-d.experience .dw-filters button { border:1px solid var(--line); border-radius:8px; padding:6px 11px; background:var(--white); }
body.studio-d.experience .dw-filters button:hover { background:var(--paper-deep); border-color:var(--ink); transform:none; }
body.studio-d.experience .dw-filters button[aria-pressed="true"] { border-color:var(--ink); box-shadow:2px 2px 0 var(--ink)!important; }
body.studio-d.experience .dw-filters button span {
  min-width:19px; padding:1px 4px; border-radius:9px; background:var(--paper-deep); text-align:center; color:var(--type-secondary); opacity:1;
}
body.studio-d.experience .dw-collection { margin-block:23px 27px; }
body.studio-d.experience .dw-collection > header { border-bottom:1px solid var(--ink); padding:0 0 8px; }
body.studio-d.experience .dw-collection > header > span {
  min-width:22px; padding:1px 5px; border:1px solid var(--line); border-radius:5px; background:var(--white); text-align:center;
}
body.studio-d.experience .dw-entry > a { border-radius:7px; padding-inline:9px; }
body.studio-d.experience .dw-entry > a:hover { background:var(--white); transform:translateX(2px); }
body.studio-d.experience .dw-entry svg { stroke:var(--electric); opacity:.8; }
body.studio-d.experience :is(.dw-entry-secondary,.dw-entry-meta,.dw-result-count,.dw-empty,.dw-reading-meta,.dw-reading-original,.dw-reading-toolbar > span,.dw-loading) { color:var(--type-secondary)!important; }
body.studio-d.experience .dw-reading-toolbar { padding-bottom:12px; border-bottom:1px solid var(--line); }
body.studio-d.experience .dw-reading-head { padding-block:7px 20px; border-bottom:1px solid var(--line); }
body.studio-d.experience .dw-reading-head h1 { display:inline-block; max-width:100%; padding:8px 15px 10px; border:1px solid var(--ink); border-radius:10px 7px 9px 5px; background:var(--lemon); color:var(--ink); box-shadow:4px 4px 0 var(--ink); overflow-wrap:anywhere; transform:rotate(-.5deg); }
body.studio-d.experience .dw-reading-meta { margin-top:15px; padding-left:9px; border-left:3px solid var(--coral); }
body.studio-d.experience .dw-outline button { border:1px solid transparent; border-radius:6px; color:var(--type-secondary)!important; }
body.studio-d.experience .dw-outline button:hover { border-color:var(--line); background:var(--lemon)!important; }
body.studio-d.experience .dw-empty button { border:1px solid var(--ink); border-radius:7px; color:var(--ink); background:var(--lemon); }
body.studio-d.experience .dw-loading span { background:var(--electric); }

/* Legacy course/document directory variants remain consistent when mounted. */
body.studio-d.experience .sx-root[data-sx-section="courses"] { --sx-accent:var(--electric); --sx-tint:#eaecfc; --sx-muted:var(--type-secondary); --sx-line:var(--line); }
body.studio-d.experience .sx-root[data-sx-section="documents"] { --sx-accent:var(--electric); --sx-tint:#eaecfc; --sx-muted:var(--type-secondary); --sx-line:var(--line); }
body.studio-d.experience .sx-root[data-sx-section="courses"] .sx-course-nav button { border:1px solid transparent; border-radius:7px; }
body.studio-d.experience .sx-root[data-sx-section="courses"] .sx-course-nav button:hover { background:var(--paper-deep); }
body.studio-d.experience .sx-root[data-sx-section="courses"] .sx-course-nav button[aria-selected="true"] { border-color:var(--ink); color:var(--ink); background:var(--lemon); }
body.studio-d.experience :is(.sx-category-nav,.sx-image-tabs) button { border:1px solid var(--line); border-radius:7px; color:var(--type-secondary); background:var(--white); }
body.studio-d.experience :is(.sx-category-nav,.sx-image-tabs) button[aria-pressed="true"] { color:var(--ink); border-color:var(--ink); background:var(--lemon); box-shadow:2px 2px 0 var(--ink); }
body.studio-d.experience .sx-doc-group > header { border-bottom-color:var(--ink); }
body.studio-d.experience .sx-doc-arrow { color:var(--electric); }
body.studio-d.experience .sx-doc-row:hover { background:var(--white); }
body.studio-d.experience .sx-root[data-sx-section="courses"] :is(.sx-step-index,.sx-output-links > span,.sx-related-methods > span,.sx-downloads > span) { color:var(--type-secondary); }
body.studio-d.experience .sx-root[data-sx-section="courses"] .sx-downloads > .sx-link {
  padding:5px 10px; border:1px solid var(--line); border-radius:7px; color:var(--electric); background:var(--white);
}
body.studio-d.experience .sx-root[data-sx-section="courses"] .sx-downloads > .sx-link:hover { border-color:var(--ink); background:var(--lemon); }

/* Xenium teaching controls are recoloured; plotted cell categories keep their data colours. */
body.studio-d.experience :is(.xn-launch,.xn-module-case) {
  position:relative; border:1px solid var(--ink); border-radius:14px; color:var(--ink);
  background:var(--white); box-shadow:4px 4px 0 var(--paper-deep); overflow:hidden;
}
body.studio-d.experience .xn-launch::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--coral);
}
body.studio-d.experience .xn-launch:hover { box-shadow:4px 4px 0 var(--ink); transform:translateY(-2px); }
body.studio-d.experience :is(.xn-launch-copy small,.xn-case-eyebrow,.xn-eyebrow,.xn-launch-go) { color:var(--electric)!important; }
body.studio-d.experience :is(.xn-launch-copy p,.xn-module-case p:not(.xn-case-eyebrow),.xn-simulation,.xn-readout,.xn-status,.xn-cell-label) { color:var(--type-secondary)!important; }
body.studio-d.experience .xn-simulation { padding:3px 7px; border:1px solid var(--line); border-radius:5px; color:var(--ink)!important; background:#e9ef7345; }
body.studio-d.experience .xn-launch-visual > circle:first-child { fill:#e9ef7345; stroke:var(--ink); }
body.studio-d.experience .xn-launch-visual > circle:nth-child(2) { fill:#f4856f25; }
body.studio-d.experience .xn-launch-visual path { stroke:var(--electric); }
body.studio-d.experience .xn-launch-visual > circle:last-child { fill:var(--electric); }
body.studio-d.experience .xn-lab {
  padding:24px; border:1px solid var(--ink); border-radius:14px; background:var(--white); box-shadow:4px 4px 0 var(--paper-deep);
}
body.studio-d.experience .xn-lab .xn-head { padding-bottom:16px; border-bottom:1px solid var(--line); }
body.studio-d.experience .xn-lab :is(.xn-dataset-tabs,.xn-reading-modes),
body.studio-d.experience .xn-reading-modes { padding:3px; border:1px solid var(--line); border-radius:9px; background:var(--paper-deep); }
body.studio-d.experience :is(.xn-dataset-tabs,.xn-reading-modes) button { color:var(--type-secondary); border-radius:6px; }
body.studio-d.experience :is(.xn-dataset-tabs,.xn-reading-modes) button[aria-pressed="true"] { color:var(--ink); background:var(--lemon); box-shadow:0 0 0 1px var(--ink); }
body.studio-d.experience .xn-controls select { border:1px solid var(--line); border-radius:7px; color:var(--ink); background:var(--paper); box-shadow:none; }
body.studio-d.experience .xn-presets button { border:1px solid transparent; border-radius:6px; color:var(--type-secondary); }
body.studio-d.experience .xn-presets button[aria-pressed="true"] { color:var(--ink); border-color:var(--ink); background:var(--lemon); }
body.studio-d.experience .xn-plot { border:1px solid var(--line); border-radius:10px; background:var(--paper); }
body.studio-d.experience .xn-halo { fill:#3c4be00c; stroke:var(--electric); }
body.studio-d.experience .xn-hole { fill:var(--paper); stroke:var(--electric); }
body.studio-d.experience .xn-neighbor-lines line { stroke:var(--electric); }
body.studio-d.experience .xn-cell.is-center { stroke:var(--ink); }
body.studio-d.experience .xn-cell-label { fill:var(--type-secondary); }
body.studio-d.experience .xn-composition-track { background:var(--paper-deep); }
body.studio-d.experience .xn-neighbor-total strong { color:var(--ink); }
body.studio-d.experience .xn-retry { border:1px solid var(--ink); border-radius:7px; color:var(--ink); background:var(--lemon); }
body.studio-d.experience .xn-case-actions button { border:1px solid var(--ink); border-radius:7px; color:var(--ink); background:var(--paper); box-shadow:none; }
body.studio-d.experience .xn-case-actions button:first-child { color:var(--white); background:var(--electric); }
body.studio-d.experience .xn-case-actions button:hover { color:var(--ink); background:var(--lemon); box-shadow:2px 2px 0 var(--ink); }
body.studio-d.experience .xn-return-course { color:var(--type-secondary); }
body.studio-d.experience .xn-return-course:hover { color:var(--electric); }
body.studio-d.experience .xn-source-figure .iv-source-link {
  border:1px solid var(--line); border-left:4px solid var(--coral); border-radius:8px;
  color:var(--electric)!important; background:var(--white); min-height:72px;
}
body.studio-d.experience .xn-source-figure .iv-source-link:hover { background:var(--lemon); }
body.studio-d.experience .xn-source-figure figcaption { color:var(--type-secondary)!important; }

@media(max-width:760px) {
  body.studio-d.experience .cw-course-head { padding-top:18px; }
  body.studio-d.experience .cw-workspace .cw-course-pagination button { min-width:30px; font-size:14px; }
  body.studio-d.experience .cp-header { flex-wrap:wrap; gap:10px; }
  body.studio-d.experience .cp-header > a { margin-left:18px; }
  body.studio-d.experience .dw-search { max-width:none; }
  body.studio-d.experience :is(.cr-content,.dw-article) :is(figcaption,caption) { padding-inline:9px; }
  body.studio-d.experience .xn-lab { padding:17px; border-radius:12px; }
  body.studio-d.experience .xn-launch { padding-left:23px; }
}
@media(prefers-reduced-motion:reduce) {
  body.studio-d.experience :is(.cw-workspace,.cp-practice,.cr-reader,.dw-workspace,.xn-lab,.xn-launch) * { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}
