@charset "UTF-8";
:root {
  color-scheme:dark;
  --bg:oklch(17% .006 185);
  --surface:oklch(21% .008 185);
  --surface-high:oklch(25% .009 185);
  --text:oklch(94% .008 85);
  --muted:oklch(74% .012 170);
  --dim:oklch(65% .012 170);
  --line:oklch(35% .013 170 / .64);
  --accent:oklch(82% .056 167);
  --mint:oklch(82% .056 167);
  --ease:cubic-bezier(.16,1,.3,1);
  --text-support:14px;
  --text-body:16px;
  --text-reading:18px;
  --space-section:36px;
  --space-control:12px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-synthesis:none;
  font-size:var(--text-body);
}

/* Discovery chapters and the guided atlas share the existing visual system. */
.discovery-page, .atlas-page { max-width: 1440px; margin: auto; padding: 60px 64px 80px; }
.discovery-heading { max-width: 760px; margin-bottom: 32px; }
.discovery-heading h1 { font-size: 48px; }
.discovery-heading > p:last-child { margin-top: 24px; color: var(--muted); }
.chapter-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.chapter { display: grid; grid-template-columns: 110px 1fr; gap: 24px; align-items: center; border-top: 1px solid var(--line); padding-top: 40px; }
.chapter h2 { font-size: 30px; line-height: 1.12; letter-spacing: -1px; }
.chapter p:not(.eyebrow) { font-size: 14px; color: var(--muted); max-width: 540px; margin: 14px 0; }
.chapter .chapter-meta { font-size: 12px; margin-bottom: 22px; }
.chapter-art { display: grid; align-self: start; grid-template-columns: repeat(3, 1fr); gap: 8px; transform: rotate(-5deg); padding: 12px; }
.chapter-art span { border: 1px solid var(--line); border-radius: 12px; aspect-ratio: 1; display: grid; place-items: center; color: var(--dim); background: var(--surface); }
.memory-art span:nth-child(2), .memory-art span:nth-child(5), .memory-art span:nth-child(7) { background: var(--accent); color: var(--bg); }
.noticing-art { transform: rotate(5deg); font-size: 20px; }
.noticing-art span:nth-child(5) { color: var(--accent); border-color: var(--accent); }
.explore-invitation { border-top: 1px solid var(--line); margin-top: 52px; padding-top: 38px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.explore-invitation h2 { font-size: 30px; letter-spacing: -1px; }
.explore-invitation p:not(.eyebrow) { color: var(--muted); margin-top: 16px; }
.atlas-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 36px; }
.atlas-heading h1 { font-size: 48px; }
.atlas-heading > p { color: var(--muted); max-width: 300px; }
.atlas-layout { display: grid; grid-template-columns: 215px minmax(320px, 1fr) 265px; gap: 22px; align-items: center; border-top: 1px solid var(--line); padding-top: 25px; }
.anatomy-selector { align-self: start; padding-top: 30px; }
.anatomy-selector > button { display: flex; align-items: center; gap: 10px; text-align: left; width: 100%; min-height: 60px; background: transparent; border-bottom: 1px solid var(--line); padding: 12px 5px; color: var(--muted); font-size:14px; }
.anatomy-selector > button[aria-pressed="true"] { color: var(--accent); background: var(--surface); }
.anatomy-number { font-size:14px; color: var(--dim); }
.anatomy-selector > button > span:last-child { margin-left: auto; }
.anatomy-selector .anatomy-reset { font-size:14px; color: var(--text); border: 0; text-decoration: underline; text-underline-offset: 5px; margin-top: 12px; }
.atlas-model { min-width: 0; }
.atlas-model .brain-stage { height: 445px; width: 100%; margin: 0; }
.atlas-model .brain-caption, .atlas-model .stage-label { display: none; }
.atlas-model .brain-tools { bottom: 28px; }
.atlas-model .brain-tools button { padding: 10px 12px; min-width: 38px; }
.atlas-model .model-note { font-size:14px; }
.atlas-model .brain-mount { inset: 0 0 65px; }
.fallback-anatomy-note { color: var(--dim); font-size:14px; text-align: center; padding: 10px; }
.atlas-lesson h2 { font-size: 27px; line-height: 1.18; letter-spacing: -.7px; margin-bottom: 20px; }
.atlas-lesson > p:not(.eyebrow) { color: var(--muted); font-size: 14px; margin: 15px 0; }
.atlas-lesson .atlas-view-label, .atlas-lesson .atlas-boundary { font-size:14px; }
.atlas-lesson a { font-size:14px; }
.atlas-topic { display: grid; grid-template-columns: 215px 1fr; gap: 44px; margin-top: 36px; border-top: 1px solid var(--line); padding-top: 32px; }
.topic-choices { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
.topic-choices button { background: transparent; color: var(--muted); padding: 14px 20px; border: 1px solid var(--line); border-radius: 30px; min-height: 44px; }
.topic-choices button[aria-pressed="true"] { background: var(--accent); color: var(--bg); border-color: var(--accent); }
#topic-lesson { max-width: 700px; }
#topic-lesson > p:not(.eyebrow) { color: var(--muted); margin: 16px 0; }
#topic-lesson h2 { font-size: 28px; letter-spacing: -.6px; }
#topic-lesson a, #topic-lesson .atlas-boundary { font-size:14px; }
.atlas-next { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.strategy-question { padding: 0; margin: 26px 0; border: 0; }
.strategy-question legend { font-size: 15px; margin-bottom: 14px; }
.strategy-question legend > span { display: block; color: var(--dim); font-size:14px; margin-top: 5px; }
.strategy-options { display: flex; flex-wrap: wrap; gap: 8px; }
.strategy-options label { cursor: pointer; }
.strategy-options input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.strategy-options span { display: inline-block; padding: 12px 16px; min-height: 44px; border: 1px solid var(--line); border-radius: 24px; font-size:14px; color: var(--muted); }
.strategy-options input:checked + span { background: var(--surface-high); border-color: var(--accent); color: var(--text); }
.strategy-question > p { margin-top: 12px; font-size:14px; color: var(--dim); }
.notice-target { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 22px auto; color: var(--muted); font-size: 13px; }
.notice-target > .notice-symbol { color: var(--accent); font-size: 34px; line-height: 1; }
.notice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; width: min(330px, 100%); margin: 0 auto; }
.notice-cell { position: relative; aspect-ratio: 1; min-height: 75px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); display: flex; align-items: center; justify-content: center; color: var(--text); }
.notice-cell:not(:disabled):hover { border-color: var(--accent); background: var(--surface-high); }
.notice-cell.selected { border: 2px solid var(--accent); background: var(--surface-high); }
.notice-cell .notice-symbol { font-size: 33px; line-height: 1; }
.notice-position { position: absolute; left: 11px; top: 7px; color: var(--dim); font-size: 11px; }
.notice-selection { position: absolute; bottom: 7px; font-size: 9px; color: var(--accent); }
.notice-grid + .key-hint { max-width: 340px; margin: 22px auto 0; }
.notice-results { max-width: 820px; margin: 0 auto; padding: 50px 36px 65px; }
.notice-results h1 { font-size: 48px; }
.notice-results > p:not(.eyebrow) { color: var(--muted); margin-top: 22px; }
.notice-results .result-limit { font-size:14px; }
.notice-reflection { margin: 32px 0; padding: 0; border: 0; }
.notice-reflection legend { font-size: 17px; margin-bottom: 14px; }
.notice-reflection legend > span { display: block; font-size:14px; color: var(--dim); margin-top: 8px; }
.notice-reflection label { display: flex; gap: 10px; align-items: center; min-height: 44px; font-size: 14px; cursor: pointer; }
.notice-reflection input { accent-color: var(--accent); width: 18px; height: 18px; }
.notice-exit-panel { max-width: 480px; padding: 28px; margin: 30px auto 60px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.notice-exit-panel p { color: var(--muted); margin: 18px 0; }
.notice-exit-panel button { margin: 5px; }
#noticing-root .how-it-works > p { font-size: 13px; color: var(--muted); margin-top: 22px; }
#noticing-root .activity-layout > .button.text { margin-top: 12px; }
.notice-target + .notice-grid { scroll-margin-top: 24px; }
.hero-actions > .text { display: block; margin-top: 10px; }
.hero-copy > .text-link + .text-link { margin-left:18px; }
@media (min-width: 721px) and (max-height: 800px) {
  main[data-screen="activity"] .activity-layout { padding-top: 24px; padding-bottom: 25px; }
  main[data-screen="activity"] .activity-layout h1 { font-size: 30px; }
  main[data-screen="activity"] .memory-grid { max-width: 270px; gap: 9px; }
  main[data-screen="activity"] .task-status { margin-top: 12px; margin-bottom: 12px; }
  main[data-screen="activity"] .answer-line { margin-top: 18px; }
}
@media (max-width: 1120px) {
  .atlas-layout { grid-template-columns: 190px minmax(280px, 1fr); }
  .atlas-lesson { grid-column: 1 / -1; max-width: 720px; border-top: 1px solid var(--line); padding-top: 24px; }
  .atlas-page, .discovery-page { padding: 42px 36px 60px; }
}
@media (max-width: 720px) {
  .atlas-page, .discovery-page { padding: 32px 24px 48px; }
  .atlas-heading { display: block; }
  .atlas-heading h1, .discovery-heading h1 { font-size: 38px; letter-spacing: -1.5px; }
  .atlas-heading > p { margin-top: 18px; font-size:14px; }
  .chapter-list { grid-template-columns: 1fr; }
  .chapter { grid-template-columns: 1fr; gap: 24px; }
  .chapter-art { max-width: 180px; }
  .chapter h2 { font-size: 30px; }
  .chapter > div > .button { margin-top: 8px; }
  .explore-invitation { display: block; }
  .explore-invitation > .button { margin-top: 24px; }
  .atlas-layout { display: flex; flex-direction: column; gap: 20px; }
  .atlas-model { order: 0; width: 100%; }
  .atlas-model .brain-stage { height: 340px; }
  .anatomy-selector { order: 1; width: 100%; padding-top: 0; }
  .anatomy-selector > button { min-height: 48px; }
  .atlas-lesson { order: 2; width: 100%; }
  .atlas-topic { grid-template-columns: 1fr; gap: 24px; }
  .topic-choices { flex-direction: row; }
  .topic-choices button { flex: 1; padding: 12px; }
  .atlas-model .brain-tools button { padding: 10px 8px; min-width: 36px; }
  .notice-results { padding: 32px 24px 48px; }
  .notice-results h1 { font-size: 36px; letter-spacing: -1.5px; }
  .notice-exit-panel { margin: 24px; }
}
.brain-mount[data-render-state="ready"] .brain-render-status {
  clip-path: inset(50%);
  width: 1px !important;
  height: 1px !important;
  overflow: hidden;
}
.brain-mount:not([data-render-state="ready"]) .brain-render-status {
  top: 43px;
  bottom: auto !important;
  font-size: 14px !important;
}
* {
  box-sizing:border-box;
}

body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  min-width:280px;
  -webkit-font-smoothing:antialiased;
}

body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 75% 32%,oklch(30% .025 185 / .17),transparent 52%);
  z-index:-1;
}

a {
  color:inherit;
  text-underline-offset:5px;
}

button,input {
  font:inherit;
}

button,a,input {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
}

button:disabled {
  cursor:default;
}

button {
  color:inherit;
}

button,a {
  touch-action:manipulation;
}

button:focus-visible,a:focus-visible,input:focus-visible+span {
  outline:2px solid var(--accent);
  outline-offset:5px;
}

h1:focus,main:focus {
  outline:0;
}

h1,h2,h3,p {
  margin:0;
}

h1 {
  font-size:clamp(46px,4.8vw,72px);
  line-height:1.09;
  letter-spacing:-3.2px;
  font-weight:480;
}

h1 em {
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  color:var(--accent);
  letter-spacing:-2.7px;
}

h2 {
  font-size:25px;
  letter-spacing:-.65px;
  line-height:1.25;
  font-weight:500;
}

p {
  line-height:1.7;
}

button {
  border:0;
}

main {
  max-width:1440px;
  margin:auto;
  min-height:calc(100svh - 178px);
}

.site-header {
  height:106px;
  max-width:1440px;
  margin:auto;
  padding:0 64px;
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--line);
  gap:48px;
}

.wordmark {
  display:flex;
  align-items:center;
  gap:11px;
  text-decoration:none;
  font-size:24px;
  letter-spacing:-1px;
  font-weight:560;
}

.wordmark svg {
  width:29px;
  height:29px;
  fill:none;
  stroke:var(--accent);
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.wordmark-dot {
  color:var(--accent);
}

nav {
  display:flex;
  align-items:center;
  gap:30px;
  margin-left:auto;
}

nav a {
  position:relative;
  text-decoration:none;
  font-size:14px;
  padding:14px 0;
  color:var(--muted);
}

nav a:hover,nav a[aria-current] {
  color:var(--text);
}

nav a[aria-current]::after {
  content:"";
  width:4px;
  height:4px;
  background:var(--accent);
  border-radius:50%;
  position:absolute;
  bottom:2px;
  left:50%;
}

.header-note {
  font-size:var(--text-support);
  color:var(--muted);
  border-left:1px solid var(--line);
  padding-left:32px;
}

.small-star {
  color:var(--accent);
  margin-right:7px;
  font-size:18px;
}

.eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:var(--text-support);
  letter-spacing:2px;
  font-weight:650;
  color:var(--muted);
  line-height:1.6;
  margin-bottom:27px;
}

.tiny-orbit {
  width:8px;
  height:8px;
  border:1px solid var(--accent);
  border-radius:50%;
  box-shadow:0 0 0 3px oklch(75% .056 167 / .09);
}

.home-hero {
  display:grid;
  grid-template-columns:1.04fr 1.15fr;
  align-items:center;
  padding:34px 42px 32px 76px;
  min-height:640px;
  gap:0;
}

.hero-copy {
  position:relative;
  z-index:1;
  padding-bottom:16px;
}

.hero-description {
  color:var(--muted);
  font-size:16px;
  max-width:405px;
  margin-top:26px;
  line-height:1.85;
}

.hero-actions {
  margin-top:33px;
}

.button {
  min-height:50px;
  padding:14px 23px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  border-radius:99px;
  font-size:13px;
  font-weight:600;
  line-height:1.4;
  transition:background .2s var(--ease),transform .2s var(--ease);
  text-decoration:none;
}

.primary {
  background:var(--accent);
  color:oklch(23% .04 290);
  box-shadow:0 0 24px oklch(72% .056 167 / .045);
}

.primary:hover {
  background:oklch(85% .045 167);
  transform:translateY(-1px);
}

.secondary {
  background:transparent;
  border:1px solid var(--line);
}

.secondary:hover {
  background:var(--surface-high);
}

.text {
  background:transparent;
  color:var(--muted);
  padding-left:14px;
  padding-right:14px;
}

.text:hover {
  color:var(--text);
}

.button:disabled {
  opacity:.35;
  transform:none;
}

.activity-meta {
  color:var(--dim);
  font-size:14px;
  margin-top:14px;
  display:flex;
  align-items:center;
  gap:9px;
}

.activity-meta>span:first-child {
  font-size:15px;
}

.text-link {
  display:inline-flex;
  gap:12px;
  align-items:center;
  color:var(--muted);
  font-size:14px;
  text-decoration:none;
  margin-top:32px;
  min-height:44px;
}

.text-link:hover {
  color:var(--accent);
}

.brain-stage {
  position:relative;
  min-width:0;
  height:544px;
  isolation:isolate;
}

.brain-mount {
  position:absolute;
  inset:25px -12px 30px;
  z-index:2;
  overflow:hidden;
}

.brain-mount canvas,.brain-mount img {
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}

.stage-orbit {
  position:absolute;
  border:1px solid oklch(59% .06 170 / .1);
  border-radius:50%;
  left:10%;
  right:6%;
  top:11%;
  bottom:13%;
  z-index:-1;
  transform:rotate(-27deg);
}

.orbit-two {
  inset:5% 16% 7% 12%;
  transform:rotate(20deg);
  border-style:dashed;
  opacity:.6;
}

.stage-label {
  position:absolute;
  top:28px;
  left:46px;
  font-size:8px;
  letter-spacing:2.1px;
  color:var(--dim);
  display:flex;
  align-items:center;
  gap:8px;
  z-index:3;
}

.status-dot {
  background:var(--mint);
  height:4px;
  width:4px;
  border-radius:50%;
}

.label-line {
  width:40px;
  height:1px;
  background:var(--line);
  margin-left:10px;
}

.brain-caption {
  position:absolute;
  bottom:104px;
  right:4px;
  font-size:10px;
  line-height:1.8;
  z-index:3;
  pointer-events:none;
  color:var(--muted);
}

.brain-caption>span:not(.caption-cross) {
  color:var(--dim);
  font-size:9px;
}

.caption-cross {
  position:absolute;
  left:-26px;
  font-size:20px;
  color:var(--accent);
  top:0;
}

.brain-tools {
  position:absolute;
  bottom:33px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:0;
  z-index:3;
  border:1px solid var(--line);
  border-radius:99px;
  background:oklch(19% .02 185 / .9);
  white-space:nowrap;
}

.brain-tools button {
  font-size:14px;
  background:transparent;
  color:var(--muted);
  min-height:42px;
  padding:10px 17px;
  border-radius:99px;
}

.brain-tools button:hover {
  color:var(--text);
  background:var(--surface-high);
}

.model-note {
  position:absolute;
  bottom:4px;
  width:100%;
  text-align:center;
  font-size:14px;
  letter-spacing:.5px;
  color:var(--dim);
  z-index:3;
}

.journey-rail {
  margin:0 64px;
  border-top:1px solid var(--line);
  padding:30px 0 40px;
  display:grid;
  grid-template-columns:1.05fr 1fr 1fr 1.15fr;
  gap:30px;
}

.rail-intro .eyebrow {
  font-size:var(--text-support);
  letter-spacing:1.5px;
  margin-bottom:6px;
}

.rail-intro p {
  font-size:var(--text-support);
  color:var(--muted);
}

.journey-rail>div:not(:first-child) {
  display:flex;
  gap:14px;
  padding-top:2px;
}

.step-number {
  font-family:Georgia,serif;
  font-size:var(--text-support);
  color:var(--accent);
}

.journey-rail p {
  font-size:var(--text-body);
}

.journey-rail p span {
  display:block;
  font-size:var(--text-support);
  color:var(--dim);
  margin-top:3px;
}

.site-footer {
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:24px 64px 28px;
  max-width:1440px;
  margin:auto;
  color:var(--dim);
  font-size:var(--text-support);
}

.site-footer>div {
  display:flex;
  align-items:center;
  gap:24px;
}

.site-footer a {
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  gap:7px;
}

.site-footer a:hover {
  color:var(--accent);
}

.prototype-label {
  font-size:var(--text-support);
  padding:4px 7px;
  border:1px solid var(--line);
  border-radius:4px;
}

.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  z-index:99;
  background:var(--accent);
  padding:14px 20px;
  color:var(--bg);
}

.skip-link:focus {
  top:10px;
}

.lead {
  font-size:18px;
  line-height:1.7;
  color:var(--text);
  max-width:50ch;
}

.muted {
  font-size:14px;
  color:var(--muted);
  line-height:1.8;
}

.prepare-layout {
  max-width:1150px;
  margin:auto;
  display:grid;
  grid-template-columns:1.1fr .8fr;
  gap:100px;
  padding:80px 48px 90px;
}

.prepare-layout h1,.results-layout h1,.learn-intro h1 {
  font-size:53px;
  letter-spacing:-2.2px;
}

.prepare-layout h1 em,.results-layout h1 em,.learn-intro h1 em {
  letter-spacing:-2px;
}

.prepare-copy>.lead {
  margin-top:25px;
}

.prepare-copy>.muted {
  margin-top:12px;
}

.prediction {
  margin:31px 0 29px;
  padding:0;
  border:0;
}

.prediction legend {
  font-size:12px;
  width:100%;
  margin-bottom:13px;
}

.prediction legend span {
  font-size:10px;
  color:var(--dim);
  float:right;
}

.prediction-options {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:8px;
}

.prediction label {
  position:relative;
  cursor:pointer;
}

.prediction input {
  position:absolute;
  opacity:0;
  width:100%;
  height:100%;
  margin:0;
  cursor:pointer;
}

.prediction label>span {
  border:1px solid var(--line);
  height:55px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:19px;
  color:var(--muted);
}

.prediction input:checked+span {
  border-color:var(--accent);
  color:var(--accent);
  background:oklch(40% .07 167 / .27);
}

.privacy-note {
  font-size:10px;
  color:var(--dim);
  margin-top:14px;
}

.how-it-works {
  border-left:1px solid var(--line);
  padding-left:46px;
  padding-top:22px;
}

.mini-grid {
  display:grid;
  grid-template-columns:repeat(3,37px);
  gap:8px;
  transform:rotate(-8deg);
  margin:3px 0 35px 6px;
}

.mini-grid span {
  height:37px;
  border:1px solid var(--line);
  border-radius:9px;
  display:grid;
  place-items:center;
  color:var(--dim);
  font-size:10px;
}

.mini-grid .lit {
  background:oklch(44% .06 167 / .35);
  color:var(--accent);
  border-color:oklch(62% .056 167 / .6);
}

.how-it-works h2 {
  font-size:21px;
  margin-bottom:22px;
}

.how-it-works ol {
  padding-left:17px;
  color:var(--muted);
  font-size:12px;
  line-height:1.9;
}

.how-it-works li {
  padding-left:5px;
  margin-bottom:16px;
}

.how-it-works strong {
  font-weight:500;
  color:var(--text);
}

.aside-note {
  font-size:10px;
  color:var(--dim);
  border-top:1px solid var(--line);
  padding-top:18px;
  margin-top:25px;
}

.activity-layout {
  max-width:740px;
  padding:47px 24px 36px;
  margin:auto;
  text-align:center;
}

.activity-layout>.eyebrow {
  justify-content:center;
  margin-bottom:17px;
}

.activity-layout h1 {
  font-size:36px;
  letter-spacing:-1.25px;
}

.trial-progress {
  display:flex;
  gap:7px;
  max-width:136px;
  margin:22px auto 20px;
}

.trial-progress span {
  height:2px;
  flex:1;
  background:var(--line);
}

.trial-progress .done {
  background:var(--accent);
}

.task-status {
  font-size:13px;
  color:var(--muted);
  min-height:23px;
  margin-bottom:22px;
}

.memory-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px;
  max-width:300px;
  margin:auto;
}

.memory-cell {
  aspect-ratio:1;
  border:1px solid oklch(40% .035 185 / .65);
  border-radius:19px;
  background:var(--surface);
  position:relative;
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:18px;
  transition:background .1s,border-color .1s;
}

.memory-cell:disabled {
  opacity:1;
  color:var(--dim);
}

.memory-cell:not(:disabled):hover {
  background:var(--surface-high);
  border-color:var(--accent);
}

.memory-cell:active:not(:disabled) {
  background:oklch(40% .07 167);
}

.memory-cell.is-cue {
  background:var(--accent);
  color:var(--bg);
  border-color:var(--accent);
  box-shadow:0 0 30px oklch(72% .056 167 / .2);
}

.memory-cell.is-cue i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--bg);
  position:absolute;
  bottom:14px;
}

.answer-line {
  margin:25px auto 0;
  min-height:56px;
}

.answer-label {
  font-size:8px;
  letter-spacing:1.5px;
  color:var(--dim);
}

.answer-slots {
  display:flex;
  gap:15px;
  align-items:center;
  justify-content:center;
  font-size:17px;
  color:var(--accent);
  margin-top:8px;
  min-height:22px;
}

.answer-slots span {
  min-width:13px;
}

.key-hint,.expected-sequence {
  font-size:14px;
  color:var(--dim);
  margin-top:9px;
  min-height:20px;
}

.expected-sequence strong {
  color:var(--muted);
  font-weight:500;
}

kbd {
  font:inherit;
  border:1px solid var(--line);
  border-radius:4px;
  padding:2px 4px;
}

.activity-actions {
  min-height:66px;
  margin-top:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.watch-note {
  font-size:11px;
  color:var(--dim);
}

.quiet-exit {
  color:var(--dim);
  font-size:10px;
  background:transparent;
  min-height:44px;
  margin-top:12px;
  text-decoration:underline;
  text-underline-offset:4px;
}

.interrupted-panel {
  padding:35px 22px;
  max-width:390px;
  margin:0 auto;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--surface);
}

.interruption-icon {
  display:block;
  font-size:40px;
  color:var(--accent);
  margin-bottom:22px;
}

.interrupted-panel p {
  font-size:13px;
  color:var(--muted);
  margin:15px 0 22px;
}

.interrupted-panel .text {
  margin-top:8px;
}

.exit-confirm {
  margin:25px auto 0;
  padding:22px;
  border:1px solid var(--line);
  border-radius:16px;
  max-width:380px;
  background:var(--surface);
}

.exit-confirm h2 {
  font-size:19px;
}

.exit-confirm p {
  font-size:12px;
  color:var(--muted);
  margin:8px 0 14px;
}

.results-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  max-width:1280px;
  margin:auto;
  padding:60px 64px 70px;
  gap:40px;
  align-items:center;
}

.result-copy>.lead {
  margin-top:20px;
  font-size:15px;
  color:var(--muted);
}

.score-summary {
  display:flex;
  align-items:center;
  gap:35px;
  margin-top:28px;
  padding-bottom:20px;
  border-bottom:1px solid var(--line);
}

.score-summary>div:first-child {
  display:flex;
  align-items:center;
  gap:17px;
}

.score-value {
  font-size:65px;
  letter-spacing:-3px;
  line-height:1;
  color:var(--accent);
}

.score-value>span {
  font-size:24px;
  color:var(--muted);
  letter-spacing:-1px;
}

.score-summary p {
  font-size:11px;
  color:var(--muted);
  line-height:1.6;
}

.prediction-result {
  border-left:1px solid var(--line);
  padding-left:25px;
}

.prediction-result>span {
  display:block;
  font-size:10px;
  color:var(--dim);
}

.prediction-result strong {
  font-size:24px;
  font-weight:400;
}

.prediction-result small {
  font-size:11px;
  color:var(--muted);
}

.comparison {
  font-size:12px;
  color:var(--text);
  margin-top:16px;
}

.result-trials {
  margin-top:20px;
}

.result-trials>div {
  display:flex;
  align-items:center;
  gap:17px;
  padding:10px 0;
  border-bottom:1px solid oklch(35% .03 185 / .3);
  font-size:11px;
}

.result-trials>div>span:first-child {
  color:var(--dim);
  font-size:9px;
}

.result-trials strong {
  font-weight:400;
  color:var(--muted);
}

.trial-outcome {
  margin-left:auto;
  color:var(--dim);
  font-size:14px;
}

.trial-outcome.matched {
  color:var(--mint);
}

.result-limit,.previous-result {
  font-size:14px;
  color:var(--muted);
  margin-top:19px;
  max-width:48ch;
}

.result-actions {
  margin-top:22px;
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}

.compact {
  height:480px;
}

.result-copy {
  min-width:0;
}

.learn-intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:50px;
  padding:48px 76px 35px;
  max-width:1300px;
  margin:auto;
}

.learn-intro .lead {
  margin-top:24px;
  max-width:35ch;
}

.learn-intro .muted {
  margin-top:18px;
  max-width:47ch;
}

.learn-intro .button {
  margin-top:27px;
}

.learning-notes {
  margin:0 76px;
  padding:38px 0 42px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:52px;
}

.note-number {
  color:var(--accent);
  font-size:8px;
  letter-spacing:1.8px;
}

.learning-notes h2 {
  margin:20px 0 15px;
  font-size:24px;
}

.learning-notes p {
  font-size:14px;
  color:var(--muted);
  line-height:1.9;
}

.learning-notes a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font-size:14px;
  color:var(--muted);
  text-decoration:none;
  margin-top:10px;
}

.learning-notes a:hover {
  color:var(--accent);
}

.learning-close {
  text-align:center;
  padding:40px 24px 50px;
}

.learning-close>p {
  font-size:21px;
  letter-spacing:-.5px;
}

.learning-close>span {
  display:block;
  font-size:14px;
  color:var(--muted);
  margin-top:6px;
  margin-bottom:19px;
}

.text-page {
  max-width:800px;
  margin:auto;
  padding:65px 35px 75px;
}

.text-page h1 {
  font-size:48px;
  letter-spacing:-2px;
  margin-bottom:28px;
}

.text-page h2 {
  margin-top:32px;
  margin-bottom:14px;
  font-size:22px;
}

.text-page p:not(.eyebrow) {
  color:var(--muted);
  font-size:14px;
}

.text-page p.lead {
  font-size:18px;
}

.text-page .button {
  margin-top:30px;
}

.source-list {
  padding-left:20px;
  font-size:13px;
  line-height:1.8;
  color:var(--muted);
}

.source-list li {
  padding:7px 0;
}

.text-page a {
  overflow-wrap:anywhere;
}

.no-script {
  padding:50px;
  max-width:800px;
  margin:auto;
}

@media(min-width:1500px) {
  .home-hero {
    min-height:690px;
  }

  .brain-stage {
    height:590px;
  }

  .compact {
    height:510px;
  }

}

@media(max-width:1050px) {
  .site-header {
    padding:0 35px;
    height:90px;
    gap:25px;
  }

  .header-note {
    display:none;
  }

  .home-hero {
    padding:34px 24px 30px 40px;
    min-height:570px;
    grid-template-columns:1.05fr 1fr;
  }

  h1 {
    font-size:52px;
    letter-spacing:-2.2px;
  }

  h1 em {
    letter-spacing:-1.8px;
  }

  .hero-description {
    font-size:16px;
    max-width:330px;
  }

  .brain-stage {
    height:470px;
  }

  .stage-label {
    left:18px;
    font-size:7px;
  }

  .brain-caption {
    right:0;
    font-size:8px;
  }

  .brain-caption>span:not(.caption-cross) {
    font-size:8px;
  }

  .brain-tools {
    bottom:30px;
  }

  .journey-rail {
    margin:0 35px;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
  }

  .rail-intro {
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .rail-intro .eyebrow {
    margin:0;
  }

  .site-footer {
    padding:23px 35px;
  }

  .prepare-layout {
    padding:58px 40px;
    gap:45px;
  }

  .prepare-layout h1,.results-layout h1,.learn-intro h1 {
    font-size:44px;
  }

  .how-it-works {
    padding-left:30px;
  }

  .results-layout {
    padding:55px 40px;
    gap:25px;
  }

  .score-summary {
    gap:20px;
  }

  .score-summary>div:first-child {
    gap:12px;
  }

  .prediction-result {
    padding-left:15px;
  }

  .score-value {
    font-size:52px;
  }

  .compact {
    height:400px;
  }

  .learn-intro {
    padding:40px;
    gap:25px;
  }

  .learning-notes {
    margin:0 40px;
    gap:30px;
  }

}

.header-profile { display:flex; align-items:center; gap:10px; padding:10px 0 10px 28px; border-left:1px solid var(--line); color:var(--accent); font-size:14px; white-space:nowrap; }

@media(max-width:720px) {
  .site-header {
    min-height:108px;
    height:auto;
    padding:12px 24px;
    gap:12px;
    flex-wrap:wrap;
  }

  .header-profile {
    border:0;
    margin-left:auto;
    padding:7px 0;
    font-size:var(--text-support);
  }

  .wordmark {
    font-size:21px;
    gap:8px;
  }

  .wordmark svg {
    width:25px;
    height:25px;
  }

  .site-header nav {
    order:3;
    width:100%;
    justify-content:space-between;
    gap:12px;
  }

  .site-header nav a {
    font-size:var(--text-support);
  }

  .home-hero {
    display:flex;
    flex-direction:column;
    padding:26px 25px 16px;
    min-height:0;
    gap:0;
  }

  .hero-copy {
    width:100%;
    padding:0;
  }

  .eyebrow {
    font-size:var(--text-support);
    letter-spacing:1.8px;
    margin-bottom:20px;
  }

  h1 {
    font-size:48px;
    letter-spacing:-2.3px;
  }

  h1 em {
    letter-spacing:-2px;
  }

  .hero-description {
    font-size:16px;
    margin-top:21px;
    max-width:37ch;
    line-height:1.8;
  }

  .hero-copy > .text-link + .text-link { margin-left:0; }

  .hero-actions {
    margin-top:20px;
  }

  .hero-actions .button {
    min-height:51px;
    font-size:14px;
    padding:15px 22px;
    gap:28px;
  }

  .activity-meta {
    flex-wrap:wrap;
    font-size:14px;
    margin-top:12px;
    gap:8px;
  }

  .text-link {
    font-size:14px;
    margin-top:12px;
  }

  .brain-stage {
    width:100%;
    height:355px;
    margin-top:5px;
  }

  .brain-mount {
    inset:0 -8px 138px;
  }

  .stage-label {
    top:13px;
    left:15px;
    font-size:7px;
    letter-spacing:1.5px;
  }

  .stage-orbit {
    inset:5% 10% 15%;
  }

  .orbit-two {
    inset:1% 17% 13% 14%;
  }

  .brain-caption {
    display:none;
    right:4px;
    bottom:91px;
    font-size:8px;
  }

  .brain-caption>span:not(.caption-cross) {
    font-size:7px;
  }

  .caption-cross {
    left:-18px;
    font-size:15px;
  }

  .model-note {
    font-size:14px;
    bottom:4px;
  }

  .brain-tools {
    bottom:48px;
    width:100%;
    max-width:340px;
    flex-wrap:wrap;
    justify-content:center;
    border-radius:18px;
  }

  .brain-tools button {
    font-size:14px;
    padding:8px 15px;
    min-height:44px;
  }

  .journey-rail {
    margin:0 25px;
    padding:25px 0 28px;
    grid-template-columns:1fr;
    gap:20px;
  }

  .rail-intro {
    display:block;
    padding-bottom:5px;
  }

  .rail-intro .eyebrow {
    margin-bottom:6px;
  }

  .journey-rail>div:not(:first-child) {
    gap:18px;
  }

  .journey-rail p {
    font-size:var(--text-body);
  }

  .journey-rail p span {
    font-size:var(--text-support);
  }

  .step-number {
    font-size:14px;
  }

  .site-footer {
    padding:22px 25px;
    flex-direction:column;
    gap:9px;
    font-size:var(--text-support);
  }

  .site-footer>div {
    gap:21px;
    flex-wrap:wrap;
  }

  .site-footer a {
    min-height:44px;
  }

  .prototype-label {
    margin-left:auto;
  }

  .prepare-layout {
    display:flex;
    flex-direction:column;
    padding:41px 25px 50px;
    gap:40px;
  }

  .prepare-layout h1,.results-layout h1,.learn-intro h1 {
    font-size:41px;
    letter-spacing:-1.8px;
  }

  .prepare-layout h1 em,.results-layout h1 em,.learn-intro h1 em {
    letter-spacing:-1.8px;
  }

  .prepare-copy .lead {
    font-size:17px;
    margin-top:24px;
  }

  .prepare-copy .muted {
    font-size:13px;
  }

  .prediction {
    margin:28px 0;
  }

  .prediction-options {
    gap:7px;
  }

  .prediction label>span {
    height:52px;
  }

  .privacy-note {
    font-size:9px;
  }

  .how-it-works {
    border-left:0;
    border-top:1px solid var(--line);
    padding:31px 0 0;
  }

  .mini-grid {
    float:right;
    margin:0 0 18px 20px;
    grid-template-columns:repeat(3,29px);
    gap:5px;
  }

  .mini-grid span {
    height:29px;
    font-size:9px;
  }

  .how-it-works h2 {
    font-size:21px;
    max-width:190px;
  }

  .how-it-works ol {
    clear:both;
  }

  .aside-note {
    font-size:11px;
  }

  .activity-layout {
    padding:34px 20px 30px;
  }

  .activity-layout h1 {
    font-size:31px;
  }

  .memory-grid {
    max-width:285px;
    gap:11px;
  }

  .memory-cell {
    border-radius:18px;
    min-height:44px;
  }

  .task-status {
    font-size:12px;
    margin-bottom:19px;
  }

  .activity-actions {
    gap:2px;
  }

  .activity-actions .primary {
    font-size:12px;
    padding:14px 18px;
    min-height:50px;
  }

  .activity-actions .text {
    font-size:11px;
    padding:12px;
  }

  .answer-slots {
    gap:14px;
  }

  .interrupted-panel {
    padding:28px 18px;
  }

  .results-layout {
    display:flex;
    flex-direction:column;
    padding:41px 25px;
    gap:10px;
  }

  .result-copy {
    width:100%;
  }

  .score-summary {
    gap:28px;
  }

  .score-value {
    font-size:62px;
  }

  .score-summary>div:first-child {
    gap:18px;
  }

  .prediction-result {
    padding-left:24px;
  }

  .result-trials>div {
    padding:12px 0;
    font-size:12px;
  }

  .trial-outcome {
    font-size:14px;
  }

  .result-limit,.previous-result {
    font-size:14px;
  }

  .result-actions {
    gap:3px;
  }

  .result-actions>.primary {
    font-size:12px;
  }

  .compact {
    height:340px;
  }

  .learn-intro {
    display:flex;
    flex-direction:column;
    padding:41px 25px 20px;
    gap:20px;
  }

  .learn-intro .lead {
    font-size:17px;
  }

  .learn-intro .muted {
    font-size:13px;
  }

  .learning-notes {
    margin:0 25px;
    padding:0;
    border:0;
    grid-template-columns:1fr;
    gap:0;
  }

  .learning-notes article {
    padding:27px 0;
    border-top:1px solid var(--line);
  }

  .learning-notes h2 {
    font-size:25px;
    margin:15px 0;
  }

  .learning-notes p {
    font-size:14px;
  }

  .learning-notes a {
    font-size:14px;
  }

  .learning-close {
    border-top:1px solid var(--line);
    margin:0 25px;
    padding:30px 0 35px;
  }

  .learning-close>p {
    font-size:21px;
  }

  .learning-close>span {
    font-size:14px;
  }

  .text-page {
    padding:42px 25px;
  }

  .text-page h1 {
    font-size:39px;
    letter-spacing:-1.6px;
  }

  .text-page p.lead {
    font-size:16px;
  }

}

@media(max-width:360px) {
  .site-header {
    padding:0 17px;
  }

  .wordmark {
    font-size:18px;
  }

  .wordmark svg {
    width:22px;
  }

  nav {
    gap:13px;
  }

  nav a {
    font-size:14px;
  }

  .home-hero,.prepare-layout,.results-layout,.learn-intro {
    padding-left:20px;
    padding-right:20px;
  }

  h1 {
    font-size:42px;
  }

  .hero-actions .button {
    font-size:14px;
    padding:14px 17px;
    gap:14px;
  }

  .activity-meta {
    flex-wrap:wrap;
    font-size:14px;
    gap:6px;
  }

  .text-link {
    font-size:14px;
    gap:7px;
  }

  .brain-stage {
    height:307px;
  }

  .brain-caption {
    bottom:87px;
  }

  .prepare-layout h1,.results-layout h1,.learn-intro h1 {
    font-size:37px;
  }

  .score-summary {
    gap:14px;
  }

  .score-summary>div:first-child {
    gap:12px;
  }

  .prediction-result {
    padding-left:16px;
  }

  .score-value {
    font-size:54px;
  }

  .score-summary p {
    font-size:10px;
  }

  .memory-grid {
    max-width:260px;
  }

  .activity-layout {
    padding-left:17px;
    padding-right:17px;
  }

  .activity-layout h1 {
    font-size:27px;
  }

  .activity-actions .primary {
    font-size:11px;
    padding:13px 14px;
  }

  .activity-actions .text {
    font-size:10px;
    padding:12px 9px;
  }

  .site-footer>div {
    gap:13px;
  }

}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }

  .primary:hover {
    transform:none;
  }

}

/* Every model control remains a comfortable touch target. */
.brain-tools button { min-width: 44px; min-height: 44px; padding-inline: 10px; }
.brain-tools button:disabled { opacity: .45; cursor: default; }
.brain-tools button[data-action^="zoom"], .brain-tools button[data-action^="rotate-"] { font-size: 18px; padding-inline: 6px; }
#task-status:focus, .interrupted-panel h2:focus { outline: none; }

@media (max-width: 360px) {
  .home-hero h1 { font-size: 35px; }
  .home-hero .brain-stage { height: 282px; }
}

/* Personal atlas: reference anatomy, self-report and activity trail remain distinct. */
.hero-actions > .secondary { margin-left:10px; }
.personal-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.personal-heading h1 { font-size:44px; margin:15px 0; }
.personal-heading p:not(.eyebrow) { color:var(--muted); font-size:15px; }
.personal-atlas { max-width:1600px; padding:40px 64px 60px; margin:auto; }
.personal-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.personal-status { color:var(--accent); font-size:var(--text-support); margin:14px 0; }
.personal-status:empty { display:none; }
.portrait-workspace { display:grid; grid-template-columns:minmax(420px,1.65fr) minmax(290px,1fr); align-items:center; gap:48px; margin:20px 0 40px; }
.portrait-scene { position:relative; min-width:0; }
.portrait-scene .brain-stage { height:590px; width:100%; margin:0; }
.portrait-scene .brain-caption, .portrait-scene .stage-label, .portrait-scene .stage-orbit { display:none; }
.portrait-scene .brain-mount { inset:35px 35px 100px; }
.portrait-scene .brain-tools { bottom:38px; }
.portrait-scene .model-note { display:none; }
.portrait-rings { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.portrait-rings circle { fill:none; stroke-width:2; }
.portrait-rings .ring-track { stroke:var(--line); }
.trait-0 { --trait-color:oklch(.78 .058 161); }
.trait-1 { --trait-color:oklch(.75 .06 215); }
.trait-2 { --trait-color:oklch(.78 .065 83); }
.trait-3 { --trait-color:oklch(.72 .052 46); }
.trait-4 { --trait-color:oklch(.81 .025 133); }
.portrait-rings .trait-ring { stroke:var(--trait-color); stroke-width:3; stroke-linecap:round; }
.empty-orbit { position:absolute; inset:50px 25px 75px; border:1px solid var(--line); border-radius:50%; transform:rotate(-16deg); pointer-events:none; }
.portrait-key { text-align:center; color:var(--accent); font-size:var(--text-support); margin-top:-10px; position:relative; }
.portrait-key span { color:var(--dim); font-size:var(--text-support); }
.portrait-invitation { max-width:420px; }
.portrait-invitation h2, .portrait-dimensions h2 { font-size:35px; line-height:1.15; letter-spacing:-1px; margin:22px 0; }
.portrait-invitation p:not(.eyebrow) { color:var(--muted); margin:20px 0; }
.portrait-invitation .button { margin:10px 0; }
.scale-note { font-size:var(--text-support); color:var(--dim); line-height:1.6; margin:18px 0; }
.trait-row { border-bottom:1px solid var(--line); }
.trait-row summary { list-style:none; display:grid; grid-template-columns:8px 1fr auto; gap:14px; align-items:center; cursor:pointer; min-height:57px; font-size:var(--text-support); }
.trait-row summary::-webkit-details-marker { display:none; }
.trait-row summary:hover { color:var(--accent); }
.trait-row summary strong { font-weight:400; font-variant-numeric:tabular-nums; }
.trait-row summary small { color:var(--dim); }
.trait-dot { width:7px; height:7px; border-radius:50%; background:var(--trait-color); }
.trait-row p { font-size:var(--text-support); color:var(--muted); padding:0 0 18px 22px; }
.portrait-dimensions > a { font-size:var(--text-support); color:var(--accent); }
.atlas-next-chapters { display:grid; grid-template-columns:1fr 1fr; gap:45px; padding-top:36px; border-top:1px solid var(--line); }
.atlas-next-chapters h2 { font-size:25px; letter-spacing:-.6px; margin:18px 0; }
.atlas-next-chapters p:not(.eyebrow) { font-size:14px; color:var(--muted); margin-bottom:20px; }
.returning-choice { padding:20px 0; display:flex; gap:24px; justify-content:space-between; align-items:center; border-block:1px solid var(--line); margin:22px 0; flex-wrap:wrap; }
.returning-choice > p { color:var(--accent); font-size:14px; }
.returning-choice .button { font-size:var(--text-support); }
.welcome-page { max-width:1240px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:100px; padding:60px 64px; }
.welcome-intro h1 { font-size:45px; margin-bottom:26px; }
.welcome-intro p:not(.eyebrow) { color:var(--muted); max-width:440px; }
.welcome-mark { font-size:180px; color:var(--accent); line-height:1; margin:30px 0; font-weight:200; }
.welcome-intro .welcome-limit { color:var(--dim); font-size:var(--text-support); }
.personal-form { align-self:center; }
.personal-form > label:not(.save-choice) { display:block; margin:22px 0 10px; font-size:14px; }
.personal-form label span:not(.save-choice span), .interest-choices legend span { display:block; color:var(--dim); font-size:var(--text-support); margin:5px 0; }
.personal-form input[type="text"], .personal-form select { display:block; width:100%; min-height:50px; border:1px solid var(--line); background:var(--surface); border-radius:9px; padding:12px 14px; color:var(--text); font:inherit; font-size:15px; }
.personal-form select { color-scheme:dark; }
.personal-form input::placeholder { color:var(--dim); }
.interest-choices { padding:0; margin:28px 0; border:0; }
.interest-choices legend { font-size:14px; margin-bottom:14px; }
.interest-choices label { display:inline-flex; gap:8px; margin:0 14px 10px 0; min-height:44px; align-items:center; color:var(--muted); font-size:var(--text-support); }
.personal-form input[type="checkbox"] { accent-color:var(--accent); height:18px; width:18px; flex-shrink:0; }
.personal-form .save-choice { display:flex; gap:var(--space-control); align-items:flex-start; margin:28px 0; font-size:var(--text-support); }
.save-choice small { display:block; margin-top:10px; color:var(--dim); font-size:var(--text-support); line-height:1.6; }
.settings-controls { max-width:1112px; margin:0 auto 70px; padding:35px 0; border-top:1px solid var(--line); }
.settings-controls h2 { font-size:28px; }
.settings-controls > p { color:var(--muted); font-size:14px; margin:18px 0; }
.personal-confirm { border:1px solid var(--line); border-radius:12px; padding:22px; margin:20px 0; }
.personal-confirm p { color:var(--muted); margin:15px 0; }
.history-page { max-width:1080px; margin:auto; padding:60px 48px; }
.history-page h1 { font-size:44px; }
.history-page > p:not(.eyebrow) { color:var(--muted); margin:25px 0; max-width:700px; }
.history-list { list-style:none; padding:0; margin:40px 0; }
.history-list li { display:flex; justify-content:space-between; align-items:center; gap:22px; border-top:1px solid var(--line); padding:26px 0; }
.history-list h2 { font-size:25px; margin:15px 0; }
.history-list p, .history-empty p { color:var(--muted); font-size:var(--text-support); }
.history-empty { border-block:1px solid var(--line); padding:50px 0; margin:35px 0; }
.history-empty h2 { font-size:27px; margin-bottom:15px; }
.immersive-atlas { max-width:1680px; min-height:calc(100svh - 104px); padding-top:35px; }
.immersive-atlas .atlas-heading { margin-bottom:20px; }
.immersive-atlas .atlas-heading h1 { font-size:36px; }
.immersive-atlas .atlas-layout { grid-template-columns:180px minmax(340px,1fr) 280px; gap:20px; align-items:start; }
.immersive-atlas .atlas-model { position:relative; }
.immersive-atlas .brain-stage { height:max(480px,calc(100svh - 285px)); max-height:760px; }
.immersive-atlas .brain-mount { inset:0 0 72px; }
.immersive-atlas .atlas-heading-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
#fullscreen-note { font-size:14px; color:var(--muted); }
.immersive-atlas:fullscreen { overflow-y:auto; background:var(--bg); max-width:none; width:100%; min-height:100%; }
.anatomy-tooltip { position:absolute; width:250px; z-index:3; padding:15px; border:1px solid var(--line); border-radius:10px; background:var(--bg); pointer-events:none; box-shadow:0 8px 35px oklch(.1 .008 160 / .5); }
.anatomy-tooltip strong, .anatomy-tooltip span, .anatomy-tooltip small { display:block; }
.anatomy-tooltip strong { color:var(--accent); font-size:14px; margin-bottom:8px; }
.anatomy-tooltip span { color:var(--muted); font-size:14px; line-height:1.5; }
.anatomy-tooltip small { font-size:14px; color:var(--dim); margin-top:8px; }
.structure-science { border-top:1px solid var(--line); margin-top:20px; padding-top:18px; }
.structure-science summary { cursor:pointer; min-height:44px; padding:12px 0; color:var(--accent); }
.structure-science h3 { font-size:14px; font-weight:500; }
.structure-science p { font-size:16px; color:var(--muted); margin:12px 0; }
.structure-science a { color:var(--accent); font-size:14px; }
.structure-next { margin-top:22px; }
.structure-next .button { font-size:14px; }
.structure-next p { font-size:14px; line-height:1.5; color:var(--dim); margin-top:12px; }
.question-layout, .question-review { max-width:820px; margin:auto; padding:48px 48px 70px; }
.question-layout h1, .question-review h1 { font-size:40px; line-height:1.2; }
.question-layout fieldset { padding:0; border:0; margin:25px 0; }
.question-layout legend { color:var(--muted); font-size:14px; margin:15px 0; }
.question-layout label { display:flex; align-items:center; gap:14px; border:1px solid var(--line); border-radius:10px; min-height:58px; padding:13px 18px; margin:10px 0; cursor:pointer; font-size:14px; }
.question-layout label:has(input:checked) { border-color:var(--accent); background:var(--surface); }
.question-layout input { accent-color:var(--accent); width:18px; height:18px; }
.question-layout p, .question-review p { color:var(--muted); margin:18px 0; font-size:var(--text-support); }
.question-actions { display:flex; align-items:center; flex-wrap:wrap; gap:15px; margin-top:25px; }
.question-layout a, .question-review a { font-size:var(--text-support); color:var(--accent); }
.question-review ol { padding:0; list-style:none; margin:30px 0; }
.question-review li { border-top:1px solid var(--line); padding:18px 0; }
.question-review li p { margin:8px 0; }
.question-review li button { margin-top:8px; }
@media (max-width:1120px) {
 .personal-atlas { padding:36px; }
 .portrait-workspace { grid-template-columns:minmax(350px,1.2fr) minmax(265px,1fr); gap:25px; }
 .portrait-scene .brain-stage { height:490px; }
 .welcome-page { gap:45px; padding:45px 36px; }
 .settings-controls { margin:0 36px 50px; }
 .immersive-atlas .atlas-layout { grid-template-columns:175px minmax(300px,1fr); }
 .immersive-atlas .atlas-lesson { grid-column:1/-1; }
}
@media (max-width:720px) {
 .personal-atlas { padding:28px 22px 45px; }
 .personal-heading { display:block; }
 .personal-heading h1 { font-size:34px; }
 .personal-heading > .personal-actions { margin-top:20px; }
 .portrait-workspace { display:flex; flex-direction:column; gap:25px; margin-top:15px; }
 .portrait-scene { width:100%; }
 .portrait-scene .brain-stage { height:390px; }
 .portrait-scene .brain-mount { inset:15px 0 80px; }
 .portrait-invitation { width:100%; }
 .portrait-invitation h2, .portrait-dimensions h2 { font-size:30px; }
 .portrait-dimensions { width:100%; }
 .atlas-next-chapters { grid-template-columns:1fr; gap:34px; }
 .welcome-page { display:block; padding:35px 24px; }
 .welcome-intro h1 { font-size:36px; }
 .welcome-mark { display:none; }
 .welcome-intro .welcome-limit { margin-top:18px; }
 .personal-form { margin-top:28px; }
 .settings-controls { margin:0 24px 35px; }
 .history-page { padding:35px 24px; }
 .history-page h1 { font-size:36px; }
 .history-list li { display:block; }
 .history-list li > .button { margin-top:12px; }
 .history-list h2 { font-size:23px; }
 .returning-choice > div { display:flex; flex-wrap:wrap; gap:6px; }
 .immersive-atlas .atlas-layout { display:flex; flex-direction:column; }
 .immersive-atlas .atlas-model { width:100%; order:-1; }
 .immersive-atlas .brain-stage { height:390px; }
 .immersive-atlas .atlas-lesson { width:100%; }
 .immersive-atlas .anatomy-selector { width:100%; }
 .immersive-atlas .atlas-heading-actions { margin:22px 0; }
 .question-layout, .question-review { padding:32px 24px 50px; }
 .question-layout h1, .question-review h1 { font-size:30px; }
 .question-layout label { font-size:var(--text-support); padding:var(--space-control); }
 .hero-actions > .secondary { margin:12px 0 0; }
}

.question-progress { color:var(--accent)!important; letter-spacing:.04em; }
.question-option-value { color:var(--dim); font-size:var(--text-support); }
.question-review-answer { display:block; color:var(--accent); font-size:var(--text-support); margin:10px 0; }
.question-review-statement { font-size:15px; }
.question-about { margin-top:25px; color:var(--muted); font-size:var(--text-support); }
.question-about summary { cursor:pointer; padding:12px 0; }
@media (min-width:1121px) and (max-height:850px) {
 .personal-atlas { padding-top:25px; }
 .personal-heading h1 { font-size:36px; margin:10px 0; }
 .portrait-scene .brain-stage { height:430px; }
 .portrait-workspace { margin-top:0; gap:35px; }
 .portrait-invitation h2, .portrait-dimensions h2 { font-size:30px; margin:16px 0; }
 .portrait-invitation p:not(.eyebrow) { margin:14px 0; font-size:14px; }
 .portrait-scene .brain-mount { inset:5px 25px 70px; }
 .portrait-key { margin-top:-15px; }
 .portrait-scene .brain-tools { bottom:23px; }
}
.personal-atlas:fullscreen { overflow-y:auto; background:var(--bg); max-width:none; width:100%; }

/* Reading rooms use warm paper; interactive brain and game stages stay dark. */
body.reading-mode {
  color-scheme:light;
  --bg:oklch(96% .014 85);
  --surface:oklch(92% .017 85);
  --surface-high:oklch(88% .021 85);
  --text:oklch(24% .014 170);
  --muted:oklch(40% .015 170);
  --dim:oklch(44% .018 170);
  --line:oklch(66% .024 85 / .7);
  --accent:oklch(36% .047 167);
  --mint:oklch(36% .047 167);
}
.reading-mode .button.primary { color:var(--bg); }
.reading-mode .primary:hover { background:oklch(28% .04 167); }
.reading-mode .brain-stage {
  --bg:oklch(17% .006 185);
  --surface:oklch(21% .008 185);
  --surface-high:oklch(25% .009 185);
  --text:oklch(94% .008 85);
  --muted:oklch(74% .012 170);
  --dim:oklch(65% .012 170);
  --line:oklch(35% .013 170 / .64);
  --accent:oklch(82% .056 167);
  --mint:oklch(82% .056 167);
  background:var(--bg); color:var(--text); border-radius:24px; overflow:hidden;
}
.learning-series { max-width:1280px; margin:auto; padding:40px 64px 60px; }
.learning-series > h2 { font-size:36px; letter-spacing:-1px; margin-bottom:32px; }
.learning-series article { display:grid; grid-template-columns:220px 1fr; gap:45px; padding:32px 0; border-top:1px solid var(--line); }
.learning-series h3 { font-size:25px; letter-spacing:-.6px; }
.learning-series p { max-width:65ch; color:var(--muted); margin-bottom:16px; }
.learning-series .science-limit { font-size:14px; }
.learning-series a { font-size:14px; color:var(--accent); }
.learning-series .button { margin:10px 0; }

/* Five editorial chapters, with a different visual language for each puzzle. */
.chapter-completed { display:block; margin-top:10px; color:var(--accent); font-size:var(--text-support); letter-spacing:.03em; text-transform:none; }
.discovery-progress { color:var(--accent)!important; font-size:var(--text-support); }
.puzzle-chapter .chapter-art { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; min-height:120px; gap:14px; padding:18px 0; transform:none; }
.rule-switch-art i { display:block; width:32px; height:32px; border:2px solid var(--accent); }
.rule-switch-art .switch-outline { border-radius:50%; }
.rule-switch-art .switch-filled { background:var(--accent); }
.puzzle-chapter .chapter-art > span { border:0; border-radius:0; background:none; font-size:25px; color:var(--accent); aspect-ratio:auto; }
.mental-turn-art > span { font-size:40px!important; }
.pattern-steps-art { display:grid!important; grid-template-columns:1fr 1fr; }
.pattern-steps-art > span { min-height:38px; border-bottom:1px solid var(--line)!important; }
.puzzle-prepare { max-width:1200px; margin:auto; padding:60px 64px 80px; display:grid; grid-template-columns:1.15fr 1fr; gap:70px; align-items:center; }
.worked-example { max-width:65ch; margin:24px 0; padding:20px 0; border-block:1px solid var(--line); }
.worked-example h2 { font-size:24px; margin-bottom:14px; }
.worked-example p { font-size:16px; line-height:1.7; margin:12px 0; color:var(--muted); }
.worked-example strong { color:var(--text); font-weight:500; }
.activity-subtitle { margin:18px 0; color:var(--muted); font-size:16px; }
.puzzle-prepare h1 { font-size:48px; letter-spacing:-2px; }
.puzzle-prepare .lead { margin-top:28px; font-size:19px; }
.puzzle-description { margin:20px 0; color:var(--muted); }
.puzzle-prediction { border:0; padding:0; margin:30px 0; }
.puzzle-prediction legend { margin-bottom:15px; font-size:14px; }
.puzzle-prediction legend span { display:block; color:var(--dim); font-size:14px; margin-top:8px; }
.puzzle-how-it-works { border-top:1px solid var(--line); padding-top:30px; }
.puzzle-how-it-works h2 { font-size:30px; letter-spacing:-1px; }
.puzzle-how-it-works ol { padding-left:20px; margin:26px 0; color:var(--muted); }
.puzzle-how-it-works li { margin-bottom:17px; padding-left:8px; }
.puzzle-how-it-works > p { color:var(--dim); font-size:14px; margin-bottom:20px; }
.puzzle-play { max-width:900px; padding:32px 36px 55px; margin:auto; text-align:center; }
.puzzle-play h1 { font-size:35px; letter-spacing:-1px; }
.puzzle-play .task-status { margin:14px 0; font-size:14px; }
.puzzle-progress { display:flex; width:160px; gap:6px; margin:20px auto; }
.puzzle-progress span { height:3px; background:var(--line); flex:1; }
.puzzle-progress .done { background:var(--accent); }
.puzzle-prompt { color:var(--muted); font-size:15px; margin:20px auto; max-width:60ch; }
.puzzle-choices { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:24px auto; }
.puzzle-choice { position:relative; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--text); min-height:155px; padding:25px 12px 16px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:18px; }
.puzzle-choice:hover:not(:disabled), .puzzle-choice.selected { border-color:var(--accent); background:var(--surface-high); }
.puzzle-choice.selected { box-shadow:inset 0 0 0 1px var(--accent); }
.puzzle-choice-number { position:absolute; left:12px; top:9px; font-size:14px; color:var(--dim); }
.puzzle-choice-label { font-size:14px; line-height:1.5; color:var(--muted); }
.puzzle-shape { display:block; width:44px; height:44px; background:var(--accent); clip-path:var(--shape-clip); position:relative; flex-shrink:0; }
.puzzle-shape[data-shape="circle"] { --shape-clip:circle(50%); }
.puzzle-shape[data-shape="square"] { --shape-clip:inset(0); }
.puzzle-shape[data-shape="triangle"] { --shape-clip:polygon(50% 0,100% 100%,0 100%); }
.puzzle-shape[data-shape="diamond"] { --shape-clip:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.puzzle-shape[data-filled="false"]::after { content:""; position:absolute; inset:4px; clip-path:var(--shape-clip); background:var(--surface); }
.puzzle-shape[data-shape="triangle"][data-filled="false"]::after { inset:7px 5px 4px; }
.puzzle-choice.selected .puzzle-shape::after { background:var(--surface-high); }
.puzzle-reference { display:flex; gap:20px; justify-content:center; align-items:center; margin:24px 0; font-size:14px; }
.puzzle-reference .puzzle-shape::after { background:var(--bg); }
.puzzle-rule-label, .puzzle-pattern-rule { color:var(--accent); font-size:15px; }
.puzzle-tile-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; width:104px; aspect-ratio:1; margin:auto; }
.puzzle-tile { display:block; background:var(--bg); border:1px solid var(--line); border-radius:3px; }
.puzzle-tile[data-filled="true"] { background:var(--accent); border-color:var(--accent); }
.puzzle-reference-grid { display:grid; grid-template-columns:1fr; gap:10px; justify-items:center; }
.puzzle-reference-grid > p, .puzzle-grid-description { font-size:14px; color:var(--muted); }
.puzzle-grid-description { margin-top:6px; }
.puzzle-turn-direction { color:var(--accent); margin-top:16px; font-size:14px; }
.puzzle-turn-direction > span { font-size:25px; margin-right:10px; }
.puzzle-count-dots { width:68px; display:grid; grid-template-columns:repeat(4,1fr); gap:6px; min-height:45px; align-content:center; }
.puzzle-count-dot { width:11px; height:11px; border-radius:50%; background:var(--accent); }
.puzzle-count-value { font-size:25px; }
.puzzle-count-sequence { display:flex; justify-content:center; gap:18px; align-items:center; margin:28px 0; }
.puzzle-count-group { display:flex; align-items:center; flex-direction:column; gap:16px; }
.puzzle-sequence-gap { font-size:35px; padding:15px; color:var(--accent); }
.puzzle-answer-explanation { max-width:65ch; margin:22px auto; color:var(--muted); font-size:16px; }
.puzzle-answer-explanation strong { display:block; color:var(--accent); margin-bottom:7px; }
.puzzle-results { max-width:880px; margin:auto; padding:50px 36px 70px; }
.puzzle-results h1 { font-size:48px; letter-spacing:-2px; }
.puzzle-results .score-value { white-space:nowrap; flex-shrink:0; }
.puzzle-results .lead { margin-top:25px; }
.puzzle-result-trial { display:grid!important; grid-template-columns:25px 90px 1fr auto; gap:15px; }
.trial-prompt { font-size:14px; color:var(--muted); }
.puzzle-concept { font-size:19px; margin:30px 0 18px; }
.puzzle-results .result-limit { margin-bottom:18px; }
.puzzle-results > a { color:var(--accent); font-size:14px; }
.puzzle-results .result-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.puzzle-exit-panel { max-width:500px; padding:30px; margin:30px auto 80px; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.puzzle-exit-panel p { margin:20px 0; color:var(--muted); }
.puzzle-exit-panel button { margin:5px; }
@media(max-width:720px) {
  .learning-series { padding:30px 24px 45px; }
  .learning-series article { grid-template-columns:1fr; gap:20px; }
  .learning-series > h2 { font-size:30px; }
  .puzzle-prepare { display:block; padding:35px 24px 50px; }
  .puzzle-prepare h1 { font-size:37px; letter-spacing:-1.5px; }
  .puzzle-how-it-works { margin-top:45px; }
  .puzzle-play { padding:25px 24px 45px; }
  .puzzle-play h1 { font-size:28px; }
  .puzzle-choices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .puzzle-choice { min-height:138px; }
  .puzzle-grid-choice { min-height:175px; }
  .puzzle-tile-grid { width:88px; }
  .puzzle-count-sequence { gap:13px; }
  .puzzle-count-dots { width:52px; gap:4px; }
  .puzzle-count-dot { width:9px; height:9px; }
  .puzzle-sequence-gap { padding:5px; }
  .puzzle-reference { gap:12px; font-size:14px; }
  .puzzle-results { padding:35px 24px 50px; }
  .puzzle-results h1 { font-size:36px; letter-spacing:-1.5px; }
  .puzzle-results .score-summary { gap:22px; justify-content:space-between; }
  .puzzle-results .score-summary > div:first-child { display:block; }
  .puzzle-results .score-summary p { margin-top:10px; }
  .puzzle-result-trial { grid-template-columns:20px 1fr auto; gap:8px; }
  .puzzle-result-trial .trial-prompt { grid-column:2 / -1; grid-row:2; }
  .puzzle-exit-panel { margin:24px; padding:22px; }
}
.immersive-atlas .brain-stage { overflow:hidden; }
main > .returning-choice { margin:24px 64px 0; }
@media (max-width:720px) { main > .returning-choice { margin:20px 24px 0; } }

/* Journey polish: quick choices, a visible reference, and useful endings. */
.puzzle-results .puzzle-result-trial { display:block!important; padding:0; }
.puzzle-trial-details > summary { display:grid; grid-template-columns:24px 90px 1fr auto; gap:10px 14px; align-items:baseline; cursor:pointer; padding:18px 0; list-style:none; min-height:60px; }
.puzzle-trial-details > summary::-webkit-details-marker { display:none; }
.puzzle-trial-details > summary > span:first-child { color:var(--dim); font-size:14px; }
.trial-review-prompt { grid-column:2 / -1; color:var(--accent); font-size:14px; }
.trial-review-prompt::after { content:' +'; }
.puzzle-trial-details[open] .trial-review-prompt::after { content:' −'; }
.puzzle-trial-review { padding:8px 18px 22px; background:var(--surface); border-radius:10px; margin-bottom:18px; }
.puzzle-trial-answer { margin:14px 0; font-size:14px; color:var(--muted); line-height:1.6; }
.puzzle-trial-answer strong { color:var(--text); font-weight:500; }
.puzzle-trial-answer-explanation { font-size:16px; color:var(--muted); line-height:1.7; }
.puzzle-trial-answer-explanation strong { display:block; color:var(--accent); margin:10px 0; }
.puzzle-trial-review .puzzle-reference { margin:22px auto; }
.puzzle-trial-review .puzzle-choice { min-height:125px; }
.puzzle-trial-review .puzzle-choice:disabled { cursor:default; }
.result-trials-unavailable, .history-summary-note { font-size:var(--text-support); color:var(--dim); line-height:1.6; margin-top:14px; }
.recommended-discovery .personal-actions { gap:10px; }
.recommended-discovery .button { margin-top:6px; }
.recommended-discovery .eyebrow { color:var(--accent); }
.discovery-choices { max-width:900px; list-style:none; padding:0; margin:28px 0 16px; }
.discovery-choices li { border-top:1px solid var(--line); }
.discovery-choices li:last-child { border-bottom:1px solid var(--line); }
.discovery-choices .discovery-choice { width:100%; border:0; border-radius:0; display:flex; justify-content:flex-start; gap:24px; padding:18px 10px; background:transparent; color:var(--text); text-align:left; }
.discovery-choice:hover { background:var(--surface); }
.discovery-index { color:var(--accent); font-size:var(--text-support); font-variant-numeric:tabular-nums; }
.discovery-choice-copy { flex:1; display:flex; align-items:baseline; gap:24px; }
.discovery-choice-copy strong { font-size:20px; font-weight:500; min-width:150px; }
.discovery-choice-copy small { color:var(--muted); font-size:14px; line-height:1.5; }
.discovery-choice-state { color:var(--accent); font-size:var(--text-support); white-space:nowrap; }
.activity-guide { margin-top:22px; }
.activity-guide > summary { width:fit-content; min-height:44px; padding:12px 0; color:var(--muted); cursor:pointer; font-size:14px; line-height:1.5; }
.activity-guide[open] .chapter-list { margin-top:20px; }
.discovery-limit { margin-top:28px; color:var(--dim); font-size:14px; max-width:70ch; }
.atlas-selection-label { color:var(--accent); font-size:16px; line-height:1.4; padding:8px 0; }
.atlas-selection-description { font-size:16px; line-height:1.5; max-width:65ch; color:var(--muted); }
.atlas-reference-boundary { font-size:14px; line-height:1.5; color:var(--dim); padding:8px 0; }
.atlas-model:not(:has([data-render-state="fallback"])) .fallback-anatomy-note { display:none; }
.atlas-model .fallback-anatomy-note { padding:3px 0 8px; font-size:14px; }

@media (max-width:720px) {
  .puzzle-trial-details > summary { grid-template-columns:20px 1fr auto; gap:8px; }
  .puzzle-trial-details .trial-prompt { grid-column:2 / -1; grid-row:auto; line-height:1.6; }
  .puzzle-trial-details .trial-outcome { grid-column:3; grid-row:1; }
  .puzzle-trial-review { padding:8px 12px 20px; }
  .puzzle-trial-review .puzzle-choice { min-height:110px; }
  .puzzle-trial-review .puzzle-tile-grid { width:72px; }
  .puzzle-trial-review .puzzle-grid-choice { min-height:150px; }
  .puzzle-results .lead { font-size:15px; line-height:1.6; }
  .discovery-page { padding-top:22px; }
  .discovery-heading { margin-bottom:18px; }
  .discovery-heading .eyebrow { margin-bottom:10px; }
  .discovery-heading h1 { font-size:32px; line-height:1.08; }
  .discovery-heading > p:last-child { margin-top:12px; font-size:14px; }
  .discovery-choices { margin-top:18px; }
  .discovery-choices .discovery-choice { min-height:51px; padding:8px 2px; gap:12px; }
  .discovery-choice-copy { display:block; }
  .discovery-choice-copy strong { display:block; font-size:15px; min-width:0; }
  .discovery-choice-copy small { display:block; margin-top:3px; }
  .discovery-choice-state { font-size:var(--text-support); }
  .discovery-index { font-size:var(--text-support); }
  .immersive-atlas .atlas-layout { gap:14px; overflow-anchor:none; }
  .atlas-selection-label { min-height:68px; }
  .atlas-selection-description { min-height:72px; }
  .immersive-atlas .atlas-model { position:sticky; top:0; z-index:4; align-self:flex-start; background:var(--bg); border-bottom:1px solid var(--line); }
  .immersive-atlas .brain-stage { height:260px; min-height:0; }
  .immersive-atlas .brain-mount { inset:0 0 100px; }
  .immersive-atlas .brain-tools { bottom:0; padding:0; }
  .immersive-atlas .brain-tools button { min-width:44px; min-height:44px; padding:5px; }
  .immersive-atlas .model-note { display:none; }
  .immersive-atlas .anatomy-selector { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }
  .anatomy-selector > .eyebrow, .anatomy-selector .anatomy-reset { grid-column:1 / -1; }
  .immersive-atlas .anatomy-selector > button { min-height:52px; font-size:14px; gap:5px; scroll-margin-top:486px; scroll-margin-bottom:12px; }
  .immersive-atlas .anatomy-selector > button > span:last-child { display:none; }
  .immersive-atlas .anatomy-number { font-size:14px; }
  .immersive-atlas .atlas-lesson :is(a,button,h2,summary) { scroll-margin-top:486px; scroll-margin-bottom:12px; }
  .immersive-atlas .atlas-heading h1 { font-size:30px; }
  .immersive-atlas .atlas-heading-actions { margin:14px 0; }
  .puzzle-prepare { padding-top:26px; }
  .puzzle-prepare h1 { font-size:32px; }
  .puzzle-prepare .lead { margin-top:18px; font-size:17px; }
  .puzzle-description { margin:12px 0; font-size:14px; }
  .puzzle-how-it-works { margin-top:26px; }
  .puzzle-play { padding-top:18px; }
  .puzzle-play h1 { font-size:25px; }
  .puzzle-play .task-status { margin:9px 0; font-size:14px; }
  .puzzle-prompt { margin:12px auto; font-size:14px; }
  .puzzle-progress { margin:12px auto; }
  .puzzle-reference { margin:14px 0; }
  .puzzle-choices { margin:16px auto; gap:10px; }
  .puzzle-choice { min-height:112px; padding:22px 8px 12px; gap:10px; }
  .puzzle-grid-choice { min-height:153px; }
  .puzzle-play .activity-actions { margin-top:15px; }
  .welcome-page { padding-top:26px; }
  .welcome-intro h1 { font-size:32px; }
  .welcome-intro > p:not(.eyebrow) { font-size:14px; margin-top:14px; }
  .welcome-intro .welcome-limit { font-size:var(--text-support); }
}
@media (max-width:1000px) and (max-height:700px) {
  .immersive-atlas .atlas-model { position:relative; }
  .immersive-atlas .anatomy-selector > button, .immersive-atlas .atlas-lesson :is(a,button,h2,summary) { scroll-margin-top:16px; }
}
@media (min-width:721px) and (max-width:1000px) and (max-height:500px) {
  .immersive-atlas { padding-top:14px; }
  .immersive-atlas .atlas-heading { margin-bottom:10px; align-items:center; }
  .immersive-atlas .atlas-heading h1 { font-size:24px; line-height:1.08; }
  .immersive-atlas .atlas-heading .eyebrow { margin-bottom:8px; }
  .immersive-atlas .atlas-layout { padding-top:10px; }
  .immersive-atlas .anatomy-selector { padding-top:0; }
  .immersive-atlas .atlas-model { position:relative; }
  .immersive-atlas .brain-stage { height:260px; min-height:0; }
  .immersive-atlas .brain-mount { inset:0 0 100px; }
  .immersive-atlas .brain-tools { bottom:0; }
  .immersive-atlas .model-note { display:none; }
}

/* Authored reasoning activities retain text equivalents and room for clues. */
.puzzle-clues { max-width:640px; margin:18px auto; padding:18px 28px; text-align:left; border-block:1px solid var(--line); }
.puzzle-clue { margin:8px 0; line-height:1.6; }
.puzzle-order { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; padding:0; list-style:none; }
.puzzle-order-item { padding:8px 10px; border:1px solid var(--line); border-radius:5px; font-size:14px; }
.puzzle-order-item small { display:block; margin-bottom:5px; color:var(--dim); font-size:14px; }
.puzzle-constraint-stimulus > .puzzle-reference { display:block; }
.puzzle-constraint-stimulus .puzzle-reference > p { text-align:center; font-size:14px; }
.puzzle-evidence-domain { max-width:640px; margin:16px auto; color:var(--muted); line-height:1.7; }
.puzzle-fact { margin:8px 0; }
.puzzle-association-pair, .puzzle-relation-example { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:16px; line-height:1.6; }
.puzzle-association-pair { font-size:24px; }
.puzzle-relation-example { margin:20px auto; }
.learning-library-link { max-width:1312px; margin:24px auto; padding-inline:24px; }
.puzzle-source-link { display:block; width:fit-content; max-width:100%; margin:6px 0; padding:5px 0; overflow-wrap:anywhere; }
/* The reading library is an editorial counterpart to the dark play space. */
.learning-page { max-width:1280px; padding:60px 64px 80px; margin:auto; }
.learning-page h1 { max-width:850px; font-size:clamp(34px,5vw,64px); line-height:1.08; }
.learning-page h2 { font-size:28px; line-height:1.2; }
.learning-page p { line-height:1.75; }
.learning-page .lead { max-width:65ch; margin-top:22px; }
.learning-filters { display:flex; flex-wrap:wrap; gap:8px; margin:32px 0; }
.learning-filters button { min-height:44px; padding:10px 18px; border:1px solid var(--line); color:var(--text); background:transparent; border-radius:24px; }
.learning-filters button[aria-pressed="true"] { color:var(--bg); background:var(--accent); border-color:var(--accent); }
.learning-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 52px; }
.learning-card { padding:30px 0; border-top:1px solid var(--line); display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.learning-card > p { max-width:52ch; color:var(--muted); font-size:var(--text-body); line-height:1.7; }
.learning-card > .button { margin-top:auto; }
.learning-lesson-header { border-bottom:1px solid var(--line); padding-bottom:30px; margin-bottom:36px; }
.learning-lesson-body { max-width:760px; }
.learning-lesson-body > p { margin:22px 0; font-size:var(--text-reading); }
.learning-sources { margin:32px 0; border-top:1px solid var(--line); padding-top:24px; overflow-wrap:anywhere; }
.learning-sources li { margin:12px 0; }
.learning-links { display:block; margin:24px 0; }
.featured-learning { max-width:1152px; margin:48px auto; padding:32px; border-block:1px solid var(--line); }
.featured-learning h2 { font-size:32px; max-width:650px; margin:16px 0; }
.featured-learning p { max-width:65ch; color:var(--muted); line-height:1.7; margin:12px 0; }
.featured-learning .button { min-height:44px; font-size:var(--text-support); }
.learning-trail { padding:36px 0; border-top:1px solid var(--line); margin-top:30px; }
.learning-trail h2 { font-size:30px; margin:14px 0; }
.learning-trail p { color:var(--muted); line-height:1.7; max-width:65ch; }
.learning-trail-list { list-style:none; padding:0; margin:20px 0; display:flex; flex-wrap:wrap; gap:10px; }
.learning-trail-next { margin-top:24px; }
.context-studio { margin:14px 0 24px; padding:0; }
.learning-context-lesson { padding-top:16px; }
.learning-context-lesson .learning-lesson-header { margin-bottom:12px; padding-bottom:10px; }
.learning-context-lesson h1 { font-size:36px; letter-spacing:-1.4px; }
.context-studio-heading .eyebrow { margin-bottom:8px; }
.context-studio-heading p:last-child { margin-top:10px; max-width:65ch; }
.learning-section-shortcuts { display:flex; flex-wrap:wrap; gap:var(--space-control); margin:28px 0 var(--space-section); padding-block:12px; border-block:1px solid var(--line); }
.learning-section-shortcuts .button { min-height:44px; font-size:var(--text-support); }
.learning-topic-index, .learning-activity-index { margin-top:var(--space-section); }
.learning-topic-index h2, .learning-activity-index h2 { scroll-margin-top:24px; }
.learning-activity-index > p { margin:16px 0 24px; color:var(--muted); max-width:65ch; }
.learning-activity-card h3 { font-size:20px; line-height:1.5; }
.context-scenes { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:12px 0; }
.context-scene { min-width:0; }
.context-surround { min-height:160px; display:grid; place-items:center; }
.context-centre { width:80px; height:80px; background:rgb(128,128,128); flex-shrink:0; }
.context-scene-dark .context-surround { background:#242424; }
.context-scene-light .context-surround { background:#ededed; }
.context-scene.is-isolated .context-surround { background:#b3b3b3; }
.context-scene-label { display:block; text-align:center; font-size:14px; margin-top:10px; }
.context-observation { border:0; padding:0; margin:24px 0; }
.context-observation legend { margin-bottom:12px; font-size:15px; }
.context-observation legend span { color:var(--muted); font-size:14px; }
.context-observation label { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 0; line-height:1.5; cursor:pointer; }
.context-observation input { width:18px; height:18px; accent-color:var(--accent); }
.learning-links p { margin:14px 0; }
.learning-links .button { margin:8px 8px 0 0; }
.learning-limit { max-width:760px; padding:20px; background:var(--surface); border:1px solid var(--line); margin:28px 0; }
.learning-library-heading > p:last-child, .learning-dek { margin:20px 0; max-width:65ch; color:var(--muted); }
.learning-library-actions, .learning-lesson-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:28px 0; }
.learning-lesson-actions .personal-status { width:100%; }
.learning-boundary { margin-top:24px; color:var(--muted); font-size:14px; max-width:75ch; }
.context-controls { display:flex; flex-wrap:wrap; gap:var(--space-control); margin:12px 0; }
.context-controls label { display:flex; flex-direction:column; gap:8px; }
.context-controls select { min-height:44px; color:var(--text); background:var(--bg); border:1px solid var(--line); padding:8px; }
.context-proof { padding:20px; border:1px solid var(--line); background:var(--surface); line-height:1.7; margin-top:20px; }
@media (max-width:720px) {
  .learning-page { padding:28px 20px 56px; }
  .learning-grid { grid-template-columns:1fr; }
  .learning-page h2 { font-size:24px; }
  .learning-lesson-body > p { font-size:var(--text-body); }
  .learning-filters { gap:7px; margin:24px 0; }
  .learning-filters button { font-size:14px; padding:8px 12px; }
  .featured-learning { margin:28px 20px; padding:24px 0; }
  .context-studio { padding:0; }
  .context-scenes { gap:10px; }
  .context-surround { min-height:140px; }
  .context-centre { width:52px; height:52px; }
  .puzzle-order { gap:4px; }
  .puzzle-order-item { font-size:14px; padding:6px; }
  .puzzle-clues { padding:12px 24px; font-size:14px; }
  .puzzle-order-choices { grid-template-columns:1fr; }
  .puzzle-order-choice { min-height:88px; padding:20px 10px 10px; }
  .puzzle-order-choice .puzzle-order { display:grid; width:100%; grid-template-columns:repeat(4,minmax(0,1fr)); }
  .puzzle-order-choice .puzzle-order-arrow, .puzzle-order-choice .puzzle-choice-label { display:none; }
}

/* Authored score-free discoveries: charcoal interaction, warm-paper explanation. */
.discovery-experiment {
  --bg:oklch(17% .006 185); --surface:oklch(21% .008 185);
  --surface-high:oklch(25% .009 185); --text:oklch(94% .008 85);
  --muted:oklch(78% .012 170); --dim:oklch(74% .012 170);
  --line:oklch(52% .013 170); --accent:oklch(82% .056 167);
  color-scheme:dark; color:var(--text); background:var(--bg);
  border-radius:12px; padding:28px; margin:20px 0 32px;
  min-width:0; overflow-wrap:anywhere; line-height:1.65;
}
.discovery-experiment h2 { font-size:28px; line-height:1.25; margin-bottom:12px; }
.discovery-experiment h3 { font-size:20px; line-height:1.4; margin:18px 0 10px; }
.discovery-experiment p { max-width:68ch; margin:10px 0; }
.discovery-experiment label, .discovery-experiment select,
.discovery-experiment button { font-size:var(--text-body); }
.discovery-experiment button, .discovery-experiment select {
  min-height:44px; min-width:44px; color:var(--text); background:var(--surface);
  border:1px solid var(--line); border-radius:6px; padding:10px 14px;
  white-space:normal; line-height:1.5; max-width:100%;
}
.discovery-experiment .button.primary { color:var(--bg); background:var(--accent); border-color:var(--accent); }
.discovery-experiment .button.primary:hover:not(:disabled) { color:var(--bg); background:var(--accent); }
.discovery-experiment button:hover:not(:disabled) { border-color:var(--accent); background:var(--surface-high); }
.discovery-experiment button[aria-pressed="true"] { border-color:var(--accent); outline:1px solid var(--accent); }
.discovery-experiment button:disabled { opacity:.65; cursor:default; }
.discovery-experiment :focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.experiment-controls, .route-scene-controls, .perspective-scene-controls,
.perspective-viewer-controls { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:20px 0; }
.experiment-controls label { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.experiment-status { min-height:1.7em; font-size:var(--text-body); color:var(--accent); margin:16px 0; }
.experiment-reveal, .experiment-explanation, .route-comparison,
.perspective-inspection, .perspective-all-visibility { padding:18px; margin:20px 0; background:var(--surface); border-left:3px solid var(--accent); }
.experiment-reveal:empty, .perspective-inspection:empty { display:none; }
.route-instructions, .route-selected-path, .route-landmarks { margin:16px 0; padding-left:24px; }
.route-grid { list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; max-width:480px; margin:24px auto; }
.route-grid-cell { min-width:0; }
.route-grid .route-cell { width:100%; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:76px; padding:8px 4px; }
.route-actual-steps { display:block; width:100%; border-top:1px dashed var(--accent); padding-top:4px; margin-top:4px; font-size:var(--text-support); color:var(--text); }
.route-cell-steps { display:block; font-size:var(--text-support); color:var(--accent); overflow-wrap:anywhere; }
.route-comparison ol { padding-left:24px; }
.signal-threshold-controls { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:24px 0; }
.signal-threshold-controls label { display:flex; flex-wrap:wrap; flex:1 1 240px; align-items:center; gap:10px; min-width:0; }
.signal-threshold-controls [data-experiment-input="threshold"] { width:100%; min-width:100px; min-height:44px; flex:1 1 160px; accent-color:var(--accent); }
.signal-cases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0; margin:22px 0; list-style:none; }
.signal-case { background:var(--surface); border:1px solid var(--line); border-radius:6px; padding:14px; min-width:0; }
.signal-case > span, .signal-case > strong { display:block; }
.signal-case [data-signal-case-status] { font-size:var(--text-support); color:var(--muted); }
.signal-count-summary > dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0; }
.signal-count-summary > dl > div { border-top:1px solid var(--line); padding-top:12px; }
.signal-count-summary dt { font-weight:650; }
.signal-count-summary dd { margin:0; }
.signal-count-summary [data-signal-outcome-count] { font-size:24px; line-height:1.35; color:var(--accent); }
.signal-definitions dl > div { margin:14px 0; }
.signal-definitions dt { font-weight:650; }
.signal-definitions dd { margin:4px 0; color:var(--muted); }
.perspective-shelf { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; max-width:520px; margin:24px auto; padding:8px; background:var(--surface-high); border:1px solid var(--line); }
.perspective-shelf .shelf-compartment { position:relative; min-width:0; min-height:112px; padding:8px 4px; border-radius:2px; text-align:center; }
.shelf-object, .shelf-panel { display:block; }
.perspective-shelf .shelf-object { width:100%; min-height:92px; padding:6px 2px; }
.shelf-object > span, .shelf-object > strong { display:block; }
.shelf-object > span[aria-hidden] { font-size:28px; line-height:1.4; color:var(--accent); }
.route-cell .route-landmark, .route-cell .route-start, .route-cell .route-finish { font-size:var(--text-support); }
.shelf-panel { font-size:var(--text-support); color:var(--muted); }
.perspective-legend { font-size:var(--text-support); color:var(--muted); margin:18px 0; }
.perspective-all-visibility ul { padding-left:24px; }
.discovery-series-list { margin:36px 0; padding-block:24px; border-block:1px solid var(--line); }
.discovery-series-list > header > p, .discovery-series > p,
.discovery-related-next > p { margin:12px 0; max-width:65ch; color:var(--muted); line-height:1.7; }
.discovery-series-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:24px; }
.discovery-series h2 { font-size:22px; line-height:1.35; }
.discovery-series ol { padding-left:22px; }
.discovery-series li { padding-block:10px; }
.discovery-series li a { display:inline-block; padding-block:10px; text-decoration:underline; text-underline-offset:4px; line-height:1.5; }
.discovery-series li span { display:block; font-size:var(--text-support); color:var(--muted); line-height:1.65; }
.discovery-related-next { padding:24px 0; }
.discovery-related-next .text-link { display:inline-block; margin:12px; }
[data-discovery-format] { margin-block:36px; }
[data-discovery-format] > h2 { font-size:28px; line-height:1.3; }
[data-discovery-format] > p { margin:14px 0 24px; max-width:65ch; color:var(--muted); line-height:1.7; }
.discovery-section-shortcuts { display:flex; flex-wrap:wrap; gap:8px 18px; margin:12px 0; }
.discovery-section-shortcuts .button { min-height:44px; padding:8px 0; font-size:var(--text-support); }
.learning-format-filters { margin-top:-12px; }
.learning-filter-count { margin:16px 0; color:var(--muted); }
.learning-filter-empty { padding:20px 0; }
.score-free-discovery-choices { max-width:900px; list-style:none; padding:0; margin:20px 0; }
.score-free-discovery-choices li { border-top:1px solid var(--line); }
.score-free-discovery-choices li:last-child { border-bottom:1px solid var(--line); }
.score-free-discovery-choices .button { width:100%; display:flex; justify-content:space-between; align-items:center; gap:20px; border:0; border-radius:0; padding:18px 10px; background:transparent; text-align:left; }
.score-free-discovery-choices .button:hover { background:var(--surface); }
.score-free-discovery-choices strong { display:block; font-size:20px; line-height:1.4; font-weight:500; }
.score-free-discovery-choices small { display:block; margin-top:6px; font-size:var(--text-support); line-height:1.6; color:var(--muted); }
.score-free-discovery-choices .button > span:last-child { flex-shrink:0; font-size:var(--text-support); line-height:1.5; color:var(--accent); }
/* Finite workshops keep the chosen action and its consequence in one reading flow. */
.workshop-mode-controls, .garden-actions, .sampling-actions {
  display:flex; flex-wrap:wrap; gap:10px; margin:18px 0;
}
.workshop-token-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; padding:0; list-style:none; margin:20px 0; }
.workshop-token-grid > * { min-width:0; }
.workshop-token-grid button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; width:100%; height:100%; padding:12px 8px; }
.workshop-token-symbol { display:block; width:32px; height:32px; border:2px solid var(--accent); background:var(--surface-high); }
.workshop-token-symbol[data-size="large"] { width:44px; height:44px; }
.workshop-token-symbol[data-shape="circle"] { border-radius:50%; }
.workshop-token-symbol[data-shape="triangle"] { clip-path:polygon(50% 0,100% 100%,0 100%); background-color:var(--accent); }
.workshop-token-symbol[data-pattern="striped"] { background-image:repeating-linear-gradient(45deg,transparent 0 5px,var(--text) 5px 8px); }
.workshop-examples, .workshop-candidates, .workshop-probe, .workshop-test-results,
.garden-comparison, .sampling-current, .sampling-comparison, .sampling-population {
  margin:20px 0; padding:18px; border-top:1px solid var(--line); background:var(--surface);
}
.workshop-examples ul, .workshop-candidates ul, .workshop-test-results ul { padding-left:22px; }
.workshop-examples li, .workshop-candidates li, .workshop-test-results li { margin:10px 0; }
.workshop-examples button { margin:6px 0 6px 8px; }
.workshop-definitions { margin-top:24px; }
.garden-inputs, .sampling-settings { min-width:0; margin:20px 0; padding:16px; border:1px solid var(--line); border-radius:6px; }
.garden-inputs legend, .sampling-settings legend { padding:0 8px; }
.garden-inputs { display:grid; gap:14px; }
.garden-input-group { display:grid; grid-template-columns:minmax(0,1fr) auto auto; column-gap:8px; align-items:center; min-width:0; }
.garden-input-group h3 { grid-column:1; grid-row:1; font-size:18px; line-height:1.4; margin:0; }
.garden-input-group p { grid-column:1; grid-row:2; font-size:var(--text-support); margin:0; }
.garden-input-group button { grid-row:1 / 3; margin:0; padding:10px 12px; }
.garden-input-group button:nth-of-type(1) { grid-column:2; }
.garden-input-group button:nth-of-type(2) { grid-column:3; }
.garden-output { padding:18px 0; border-block:1px solid var(--line); }
.garden-beads { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding:14px 0; list-style:none; }
.garden-bead { display:flex; flex-direction:column; align-items:center; justify-content:center; width:76px; min-height:76px; padding:8px; border:2px solid var(--line); border-radius:50%; font-size:var(--text-support); line-height:1.4; }
.garden-bead[data-lit="true"] { color:var(--bg); background:var(--accent); border-color:var(--accent); }
.sampling-settings label { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:10px 0; width:100%; max-width:100%; min-width:0; }
.sampling-settings select { width:100%; min-width:0; max-width:100%; }
.sampling-draws { display:flex; flex-wrap:wrap; gap:8px; padding-left:24px; margin:18px 0; }
.sampling-draws li { margin:0 14px 8px 0; padding:6px; border-bottom:1px solid var(--line); }
.experiment-workshop table, .garden-experiment table, .sampling-experiment table { width:100%; border-collapse:collapse; table-layout:fixed; margin:18px 0; font-size:var(--text-support); }
.experiment-workshop th, .experiment-workshop td, .garden-experiment th, .garden-experiment td,
.sampling-experiment th, .sampling-experiment td { border-bottom:1px solid var(--line); padding:10px 6px; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.experiment-workshop caption, .garden-experiment caption, .sampling-experiment caption { text-align:left; font-weight:650; margin-bottom:12px; }
.discovery-experiment button[aria-disabled="true"] { opacity:.75; cursor:default; }
.discovery-experiment button[aria-disabled="true"]:hover { background:var(--surface); border-color:var(--line); }
/* Memory and planning retain a readable spatial order and nearby editing controls. */
.memory-board, .planning-board > ol {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;
  list-style:none; padding:0; margin:18px 0; max-width:560px;
}
.memory-board > *, .planning-board > ol > * { min-width:0; }
.memory-board .memory-workshop-cell, .planning-board .planning-slot {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; width:100%; height:100%; min-height:90px; padding:12px 6px;
  text-align:center; overflow-wrap:anywhere;
}
.memory-board .memory-workshop-cell > *, .planning-board .planning-slot > * { max-width:100%; }
.memory-board .memory-workshop-cell:not(button) {
  border:1px solid var(--line); border-radius:6px; background:var(--surface);
}
.planning-board { min-width:0; }
.planning-board > ol { grid-template-columns:repeat(4,minmax(0,1fr)); max-width:720px; }
.planning-board .planning-slot > button { width:100%; height:100%; }
.planning-board .planning-slot[data-planning-slot] {
  border:1px solid var(--line); border-radius:6px; background:var(--surface);
}
.memory-object-controls, .planning-object-controls, .planning-side-cards {
  display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:16px 0;
}
.memory-mode-controls, .memory-scene-controls { margin:16px 0; }
.memory-hint-panel, .memory-exposure-note, .planning-notes, .planning-side-task {
  min-width:0; margin:20px 0; padding-block:16px; border-block:1px solid var(--line);
}
.memory-exposure-note { border-left:3px solid var(--accent); padding:12px 16px; }
.memory-comparison, .planning-comparison { min-width:0; margin:20px 0; }
.memory-comparison-rows { list-style:none; padding:0; margin:16px 0; }
.memory-comparison-rows > li { padding:14px 0; border-top:1px solid var(--line); }
.memory-comparison-rows h4 { font-size:var(--text-body); margin:0 0 10px; }
.memory-comparison-rows dl { display:flex; flex-wrap:wrap; gap:12px 28px; margin:0; }
.memory-comparison-rows dl > div { flex:1 1 90px; min-width:0; }
.memory-comparison-rows dt { font-size:var(--text-support); color:var(--muted); }
.memory-comparison-rows dd { margin:4px 0 0; font-size:var(--text-body); }
.memory-comparison li, .planning-relations li { margin:12px 0; line-height:1.6; }
.planning-notes label { display:block; margin-bottom:10px; }
.planning-notes textarea {
  display:block; width:100%; max-width:100%; min-width:0; min-height:140px;
  box-sizing:border-box; resize:vertical; padding:12px; border:1px solid var(--line);
  border-radius:6px; color:var(--text); background:var(--surface);
  font:inherit; font-size:var(--text-body); line-height:1.6;
}
.planning-notes pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; }
.planning-pause { min-width:0; }
.planning-side-order { padding-left:24px; margin:16px 0; }
.planning-side-order li { margin:8px 0; }
/* Finite badge controls carry their shape and pattern as well as the literal facts. */
.attention-room-title-hidden {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0;
}
.attention-cell-compact { display:none; white-space:normal; }
.attention-tray, .attention-clutter-board, .attention-clutter-bank > ol {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px;
  list-style:none; padding:0; margin:18px 0;
}
.attention-tray > li, .attention-clutter-board > li, .attention-clutter-bank li { min-width:0; }
.attention-tray button, .attention-clutter-board button, .attention-clutter-bank button {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:12px; width:100%; height:100%; min-height:112px; padding:12px 8px;
  text-align:center; overflow-wrap:anywhere;
}
.attention-badge > button::before, .attention-piece > button::before,
.attention-clutter-cell:not([data-clutter-kind="empty"]) > button::before {
  content:""; display:block; flex:none; width:44px; height:44px;
  background:var(--accent); border:2px solid var(--text);
}
.attention-badge[data-attention-shape="circle"] > button::before,
.attention-piece[data-clutter-kind$="circle"] > button::before,
.attention-clutter-cell[data-clutter-kind$="circle"] > button::before { border-radius:50%; }
.attention-badge[data-attention-shape="triangle"] > button::before,
.attention-piece[data-clutter-kind$="triangle"] > button::before,
.attention-clutter-cell[data-clutter-kind$="triangle"] > button::before { clip-path:polygon(50% 0,100% 100%,0 100%); }
.attention-badge[data-attention-marking="striped"] > button::before,
.attention-piece[data-clutter-kind^="striped"] > button::before,
.attention-clutter-cell[data-clutter-kind^="striped"] > button::before {
  background-image:repeating-linear-gradient(45deg,transparent 0 6px,var(--bg) 6px 10px);
}
.attention-target > button { border-style:double; border-width:3px; }
.attention-clutter-bank > ol { grid-template-columns:repeat(3,minmax(0,1fr)); }
.attention-clutter-bank h4 { font-size:var(--text-body); margin:16px 0 10px; }
.attention-clutter-summary dl { display:flex; flex-wrap:wrap; gap:16px 24px; margin:20px 0; }
.attention-clutter-summary dl > div { flex:1 1 120px; min-width:0; border-top:1px solid var(--line); padding-top:10px; }
.attention-clutter-summary dt { font-size:var(--text-support); color:var(--muted); }
.attention-clutter-summary dd { margin:6px 0 0; font-size:var(--text-body); }
.attention-mission-rows { list-style:none; padding:0; }
.attention-mission-rows li { padding:12px 0; border-top:1px solid var(--line); line-height:1.6; }
.attention-properties { line-height:1.7; }
/* Contour geometry scales as one diagram; readable descriptions remain alongside it. */
.missing-edge-diagram { min-width:0; margin:18px 0; }
.missing-edge-route { display:block; width:100%; max-width:720px; height:auto; margin:18px auto; }
.missing-edge-visible, .missing-edge-hidden-contour {
  fill:none; stroke:var(--text); stroke-width:3; stroke-linecap:butt;
  vector-effect:non-scaling-stroke;
}
.missing-edge-hidden-contour { stroke:var(--accent); stroke-dasharray:7 5; }
.missing-edge-occluder { fill:var(--surface-high); stroke:none; }
.missing-edge-visible-segments, .missing-edge-reveal p { overflow-wrap:anywhere; }
.opposite-scene, .opposite-projection, .opposite-world-reference { min-width:0; }
.opposite-projection { margin:20px 0; }
.opposite-projection h4 { font-size:var(--text-body); line-height:1.5; margin:12px 0; }
.opposite-projection svg {
  display:block; width:100%; max-width:640px; height:auto; margin:16px auto;
  background:var(--surface); border:1px solid var(--line);
}
.opposite-plaque { fill:var(--accent); stroke:var(--accent); stroke-width:.025; }
.opposite-plaque.is-selected { stroke:var(--text); stroke-width:.06; }
.opposite-screen { fill:var(--surface-high); stroke:var(--muted); stroke-width:.025; }
.opposite-projection svg text { font:0.35px system-ui,sans-serif; dominant-baseline:middle; }
.opposite-plaque-label { fill:var(--bg); }
.opposite-screen-label { fill:var(--text); }
.opposite-projection-facts, .opposite-comparison-rows { list-style:none; padding:0; margin:16px 0; }
.opposite-projection-facts li, .opposite-comparison-rows li { padding:10px 0; border-bottom:1px solid var(--line); line-height:1.6; }
.opposite-comparison-projections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.opposite-inspection, .opposite-world-reference { margin:20px 0; padding-block:16px; border-block:1px solid var(--line); }
.opposite-world-reference svg { display:block; width:100%; max-width:440px; height:auto; margin:16px auto; }
.opposite-world-reference summary { min-height:44px; padding:10px 0; cursor:pointer; font-size:var(--text-body); }
.opposite-world-diagram text { fill:var(--text); font:0.3px system-ui,sans-serif; }
.opposite-world-plaque { fill:var(--accent); stroke:var(--accent); stroke-width:.025; }
.opposite-world-plaque + text { fill:var(--bg); }
.opposite-world-screen { fill:var(--muted); }
/* Sheet geometry keeps its coordinate frame; explanatory text reflows independently. */
.fold-top-scene, .fold-layer-panel, .fold-mark-inspection { min-width:0; }
.fold-top-sheet, .fold-layer-diagram {
  display:block; width:100%; height:auto; max-width:440px; margin:16px auto;
  background:var(--surface); border:1px solid var(--line);
}
.fold-top-panel, .fold-layer-diagram > polygon:not(.fold-layer-mark) {
  fill:var(--text); stroke:var(--muted); stroke-width:1;
  vector-effect:non-scaling-stroke;
}
.fold-top-panel.is-blank-reverse { fill:var(--muted); }
.fold-next-crease-line {
  fill:none; stroke:var(--bg); stroke-width:2; stroke-dasharray:6 4;
  vector-effect:non-scaling-stroke;
}
.fold-top-mark, .fold-layer-mark { fill:var(--bg); stroke:none; }
.fold-top-mark.is-selected, .fold-layer-mark.is-selected {
  stroke:var(--accent); stroke-width:2; vector-effect:non-scaling-stroke;
}
.fold-layer-panels {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;
  list-style:none; padding:0; margin:20px 0;
}
.fold-layer-panel h4 { font-size:var(--text-body); margin:0 0 10px; }
.fold-layer-diagram { max-width:320px; }
.fold-region-facts, .fold-layer-ledger, .fold-layer-stacks { padding-left:24px; line-height:1.65; }
.fold-region-facts li, .fold-layer-ledger li, .fold-layer-stacks li { margin:10px 0; overflow-wrap:anywhere; }
.fold-mark-inspection { border-top:1px solid var(--line); margin-top:20px; padding-top:16px; }
.fold-region-details { margin:20px 0; padding-block:12px; border-block:1px solid var(--line); }
.fold-region-details summary { min-height:44px; cursor:pointer; line-height:1.5; }
.fold-top-legend { line-height:1.6; }
.solid-workspace, .solid-visuals, .solid-build-controls { min-width:0; }
.solid-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
.solid-assembly-figure, .solid-silhouette, .solid-example { margin:0; min-width:0; }
.solid-assembly { display:block; width:100%; height:auto; max-width:480px; margin:auto; }
.solid-floor-cell { fill:var(--surface); stroke:var(--muted); stroke-width:1; }
.solid-floor-cell.is-selected { fill:var(--accent); }
.solid-face { stroke:var(--bg); stroke-width:1; }
.solid-face--right { fill:#78958d; }
.solid-face--front { fill:#a9c3b9; }
.solid-face--top { fill:#e5ece1; }
.solid-silhouettes, .solid-example-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.solid-silhouette svg { display:block; width:100%; height:auto; margin:16px 0; }
.solid-outline { fill:var(--text); stroke:var(--text); stroke-width:1; }
.solid-outline-heights { font-size:var(--text-support); }
.solid-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; list-style:none; padding:0; margin:16px 0; }
.solid-columns li { min-width:0; margin:0; }
.solid-columns .button { width:100%; min-height:64px; padding:10px 4px; white-space:normal; font-size:var(--text-support); }
.solid-columns [aria-pressed="true"] { background:var(--accent); color:var(--bg); }
.solid-criteria { margin:20px 0; }
.solid-criteria > div { padding:12px 0; border-top:1px solid var(--line); }
.solid-criteria dt { font-weight:600; }
.solid-criteria dd { margin:6px 0 0; line-height:1.5; }
.solid-depth-details { margin:24px 0; padding:16px 0; border-block:1px solid var(--line); overflow-wrap:anywhere; }
.solid-depth-details summary { min-height:44px; cursor:pointer; line-height:1.5; }
.solid-stack-ledger li, .solid-depth-rows li { margin:10px 0; line-height:1.6; }
.solid-examples h4 { font-size:var(--text-body); line-height:1.5; }
.evidence-source-panels {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;
  margin:14px 0; align-items:stretch;
}
.evidence-source-panel { min-width:0; padding:14px; background:var(--surface); border:1px solid var(--line); border-radius:6px; }
.evidence-source-panel h3 { font-size:18px; margin:0 0 8px; }
.evidence-source-panel figure { margin:0; }
.evidence-source-panel figcaption, .evidence-note blockquote { font:inherit; line-height:1.5; margin:0; padding:0; border:0; }
.evidence-scene-diagram { display:block; width:100%; height:100px; margin:0 0 8px; }
.evidence-closed-door { fill:var(--surface-high); stroke:var(--muted); stroke-width:.08; }
.evidence-bench { fill:none; stroke:var(--text); stroke-width:.1; stroke-linecap:round; }
.evidence-bag-body { fill:#6baacb; stroke:#b7d6e5; stroke-width:.07; }
.evidence-bag-handle { fill:none; stroke:#b7d6e5; stroke-width:.09; }
.evidence-convention { padding-left:12px; border-left:2px solid var(--accent); }
.evidence-detail-controls h3, .evidence-attribution h3 { margin:14px 0 8px; font-size:18px; }
.evidence-detail-controls .experiment-controls { gap:8px; margin:8px 0; }
.evidence-detail-controls button { padding:8px 10px; }
.evidence-attribution label { display:block; margin:8px 0; }
.evidence-attribution-control { display:block; width:100%; min-width:0; }
.evidence-current-attribution { overflow-wrap:anywhere; }
.evidence-account { border-top:1px solid var(--line); padding:16px 0; min-width:0; }
.evidence-account h4, .evidence-account-facts h4 { margin:0 0 8px; }
.evidence-account > p { margin:8px 0 12px; }
.evidence-account-facts { margin-top:16px; }
.evidence-fact-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:12px 0; }
.evidence-fact-controls button { width:100%; text-align:left; }
.evidence-sources-disclosure { margin:16px 0; }
.evidence-sources-disclosure > summary { cursor:pointer; min-height:44px; padding:10px 0; }
.evidence-comparison-list { padding-left:24px; }
.evidence-comparison-list > li { padding:14px 0; border-bottom:1px solid var(--line); }
.evidence-comparison-list h4, .evidence-current-comparison h4 { margin:0 0 10px; font-size:var(--text-body); }
.evidence-comparison-list dl, .evidence-current-comparison dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.evidence-comparison-list dt, .evidence-current-comparison dt { color:var(--muted); }
.evidence-comparison-list dd, .evidence-current-comparison dd { margin:4px 0 0; }
.evidence-current-comparison { padding-block:16px; border-bottom:1px solid var(--line); }
.evidence-remaining-comparisons { margin-top:24px; }
.evidence-selected-accounts h3 { font-size:var(--text-body); margin:16px 0 8px; }
.evidence-selected-accounts ul { padding-left:22px; line-height:1.6; }
.evidence-f6-chain { padding-left:12px; border-left:2px solid var(--accent); margin-top:14px; }
.evidence-accounts-comparison > section { margin-top:20px; border-top:1px solid var(--line); padding-top:16px; }
.evidence-accounts-comparison h4, .evidence-accounts-comparison h5 { font-size:var(--text-body); margin:10px 0; }
@media (max-width:600px) {
  .evidence-source-panels { gap:8px; }
  .evidence-source-panel { padding:8px; }
  .evidence-source-panel h3 { font-size:16px; }
  .evidence-scene-diagram { height:64px; }
  .evidence-fact-controls, .evidence-comparison-list dl, .evidence-current-comparison dl { grid-template-columns:minmax(0,1fr); }
}
.meaning-workshop-experiment section { min-width:0; }
.meaning-context-selector h3, .meaning-paraphrase-choices h3 {
  font-size:var(--text-body); margin:16px 0 8px;
}
.meaning-current-sentence, .meaning-punctuation-sentence {
  padding:16px; margin:20px 0; border:1px solid var(--line);
  border-left:3px solid var(--accent); border-radius:4px;
  background:var(--surface); line-height:1.7; overflow-wrap:anywhere;
}
.meaning-current-sentence > strong, .meaning-punctuation-sentence > strong {
  display:block; font-size:var(--text-support); color:var(--muted); margin-bottom:8px;
}
.meaning-context-scope, .meaning-punctuation-convention { line-height:1.6; }
.meaning-context-comparison dl, .meaning-punctuation-comparison dl {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;
}
.meaning-context-comparison dl > div, .meaning-punctuation-comparison dl > div {
  min-width:0; border-top:1px solid var(--line); padding-top:12px;
}
.meaning-context-comparison dt, .meaning-punctuation-comparison dt { color:var(--muted); }
.meaning-context-comparison dd, .meaning-punctuation-comparison dd {
  margin:6px 0 0; line-height:1.6; overflow-wrap:anywhere;
}
@media (max-width:600px) {
  .meaning-context-comparison dl, .meaning-punctuation-comparison dl {
    grid-template-columns:minmax(0,1fr);
  }
  .meaning-current-sentence, .meaning-punctuation-sentence { padding:12px; margin:14px 0; }
  .meaning-paraphrase-choices button { width:100%; text-align:left; }
}
.signal-token-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.signal-token-controls button { width:100%; text-align:left; }
.signal-token-slots {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
  list-style:none; padding:0; margin:16px 0;
}
.signal-token-slots li {
  min-width:0; padding:16px 12px; margin:0; border:1px solid var(--line);
  border-radius:4px; background:var(--surface); line-height:1.6; overflow-wrap:anywhere;
}
.signal-copy-payload { padding-left:12px; border-left:2px solid var(--accent); }
.signal-copy-source { margin-block:16px; }
.signal-copy-source h3 { margin-bottom:8px; }
.signal-copy-source p { margin-block:8px; }
.signal-copy-action, .signal-send-action { margin-block:12px; }
.signal-delivery-compose { border-top:1px solid var(--line); padding-top:4px; }
.signal-recipient-controls h4 { font-size:var(--text-body); margin:14px 0 8px; }
.signal-latest-delivery { padding:12px; background:var(--surface); border-left:2px solid var(--accent); margin-block:12px; }
.signal-deliveries .signal-latest-delivery h3 { margin:0 0 8px; }
.signal-latest-delivery p { margin:0; line-height:1.6; overflow-wrap:anywhere; }
.signal-delivery-editor { border-top:1px solid var(--line); margin-top:20px; padding-top:4px; }
.signal-recipient-controls h3, .signal-deliveries h3 { font-size:var(--text-body); margin:20px 0 10px; }
.signal-recipient-summaries { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:24px 0; }
.signal-recipient-summary { min-width:0; padding-top:16px; border-top:1px solid var(--line); }
.signal-recipient-summary h4 { font-size:var(--text-body); margin:0 0 16px; }
.signal-recipient-summary h5 { font-size:var(--text-support); color:var(--muted); margin:16px 0 8px; }
.signal-recipient-summary ul, .signal-recipient-summary ol, .signal-delivery-history ol, .signal-compatible-jobs {
  padding-left:22px; line-height:1.6; overflow-wrap:anywhere;
}
.signal-recipient-summary li, .signal-delivery-history li { margin:8px 0; }
.signal-delivery-history { border-top:1px solid var(--line); margin-top:24px; padding-top:8px; }
@media (max-width:900px) {
  .signal-recipient-summaries { grid-template-columns:minmax(0,1fr); gap:16px; }
}
@media (max-width:600px) {
  .signal-token-slots { gap:8px; }
  .signal-token-slots li { padding:12px 8px; }
}
.constraint-bridge-topology {
  position:relative; width:100%; max-width:420px; margin:24px auto;
}
.constraint-bridge-edges {
  position:absolute; inset:0; width:100%; height:100%; pointer-events:none;
}
.constraint-bridge-open-edge {
  stroke:var(--muted); stroke-width:2; vector-effect:non-scaling-stroke;
}
.constraint-bridge-closed-segment {
  stroke:var(--accent); stroke-width:3; stroke-dasharray:4 4;
  vector-effect:non-scaling-stroke;
}
.constraint-bridge-grid {
  position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(3,1fr);
  list-style:none; padding:0; margin:0; aspect-ratio:1;
}
.attention-confidence {
  min-width:0; margin:20px 0 14px; padding:12px 14px 14px;
  border:1px solid var(--line); border-radius:8px;
}
.attention-confidence legend {
  max-width:100%; padding:0 6px; color:var(--text);
  font-size:var(--text-support); line-height:1.5; white-space:normal;
}
.attention-confidence > p { margin:8px 0 12px; line-height:1.6; }
.attention-confidence-controls {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px;
}
.attention-confidence-controls .button {
  min-width:0; min-height:44px; margin:0; padding:10px 8px;
  white-space:normal; line-height:1.5; overflow-wrap:anywhere;
}
.attention-prior-exposure { font-size:var(--text-support); }
.gallery-study-pairs {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
  margin:20px 0;
}
.gallery-study-pairs > div, .gallery-comparison li {
  min-width:0; padding:14px; border:1px solid var(--line); border-radius:8px;
}
.gallery-study-pairs dt, .gallery-comparison h4 { font-weight:600; }
.gallery-study-pairs dd, .gallery-comparison dd { margin:4px 0 12px; }
.gallery-object-controls .experiment-controls,
.gallery-destination-controls .experiment-controls {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px;
}
.return-gallery-experiment .button {
  min-width:0; min-height:44px; white-space:normal; overflow-wrap:anywhere;
}
.gallery-comparison ol { list-style:none; padding:0; display:grid; gap:12px; }
.gallery-comparison h4 { margin:0 0 12px; }
.gallery-comparison dl { margin:0; }
.gallery-comparison dt { color:var(--muted); font-size:var(--text-support); }
.gallery-comparison dd:last-child { margin-bottom:0; }
.gallery-status { margin-block:12px; }
.gallery-comparison, .gallery-study-pairs { overflow-wrap:anywhere; }
.orchard-tree-controls {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;
}
.orchard-tree-controls .button {
  min-width:0; min-height:44px; margin:0; padding:14px 12px;
  white-space:normal; text-align:left; line-height:1.5; overflow-wrap:anywhere;
}
.orchard-latest-yield {
  margin:16px 0; padding:12px 14px; border-left:3px solid var(--accent);
  background:var(--surface); line-height:1.6; overflow-wrap:anywhere;
}
.orchard-actions { margin-block:12px; }
.orchard-status { margin-block:8px; }
.orchard-log { margin-top:20px; }
.orchard-log ol { padding-left:24px; }
.orchard-log li { padding-block:8px; line-height:1.6; overflow-wrap:anywhere; }
.orchard-full-table table { width:100%; border-collapse:collapse; }
.orchard-full-table caption { text-align:left; padding-bottom:12px; }
.orchard-full-table th, .orchard-full-table td {
  padding:10px 8px; border-bottom:1px solid var(--line); text-align:left;
  overflow-wrap:anywhere;
}
.constraint-bridge-cell { display:grid; place-items:center; min-width:0; margin:0; }
.constraint-bridge-cell-button {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:70%; min-width:44px; min-height:60px; padding:8px 2px;
  border:1px solid var(--muted); border-radius:6px;
  background:var(--surface); color:var(--text); font:inherit; cursor:pointer;
}
.constraint-bridge-cell.is-on-route .constraint-bridge-cell-button {
  background:var(--accent); color:var(--bg); border-color:var(--accent);
}
.constraint-bridge-step { min-height:1.5em; font-size:var(--text-support); }
.constraint-bridge-rules li { margin:8px 0; line-height:1.6; }
.constraint-bridge-current-route { overflow-wrap:anywhere; }
.constraint-bridge-facts {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;
  margin:24px 0;
}
.constraint-bridge-facts > div { min-width:0; border-top:1px solid var(--line); padding-top:12px; }
.constraint-bridge-facts dt { color:var(--muted); font-size:var(--text-support); }
.constraint-bridge-facts dd { margin:6px 0 0; line-height:1.5; overflow-wrap:anywhere; }
@media (max-width:900px) {
  .discovery-series-grid { grid-template-columns:1fr; gap:24px; }
  .discovery-series { padding-top:18px; border-top:1px solid var(--line); }
  .opposite-comparison-projections { grid-template-columns:1fr; gap:12px; }
  .fold-layer-panels { grid-template-columns:1fr; gap:20px; }
  .solid-workspace, .solid-example-grid { grid-template-columns:1fr; gap:24px; }
}
@media (max-width:600px) {
  .gallery-study-pairs,
  .gallery-object-controls .experiment-controls,
  .gallery-destination-controls .experiment-controls {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gallery-study-pairs > div, .gallery-comparison li { padding:10px; }
  .attention-confidence { padding:10px; }
  .attention-confidence-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .orchard-tree-controls { grid-template-columns:1fr; gap:8px; }
  .orchard-tree-controls .button { padding:10px 12px; }
  .orchard-latest-yield { margin-block:12px; padding:10px 12px; }
  [data-discovery-format] { margin-block:24px; }
  .score-free-discovery-choices .button { display:block; padding:14px 2px; }
  .score-free-discovery-choices strong { font-size:18px; }
  .score-free-discovery-choices .button > span:last-child { display:block; margin-top:8px; }
  .discovery-experiment { padding:16px 12px; border-radius:8px; margin-inline:0; }
  .discovery-experiment h2 { font-size:24px; }
  .experiment-controls { gap:8px; }
  .solid-assembly { max-width:220px; }
  .solid-assembly-figure > p { font-size:var(--text-support); margin:8px 0 12px; }
  .solid-silhouette figcaption { font-size:var(--text-support); line-height:1.4; }
  .solid-silhouette svg { margin:8px 0; }
  .solid-outline-heights { margin:6px 0; }
  .solid-column-section h3 { margin:12px 0 8px; }
  .solid-column-directions { margin:8px 0; font-size:var(--text-support); }
  .solid-selected { margin:12px 0; }
  .workshop-token-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .workshop-examples, .workshop-candidates, .workshop-probe, .workshop-test-results,
  .garden-comparison, .sampling-current, .sampling-comparison, .sampling-population { padding:12px; }
  .garden-inputs, .sampling-settings { padding:12px; }
  .memory-board { gap:6px; }
  .memory-board .memory-workshop-cell { padding:10px 4px; }
  .planning-board > ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .attention-tray, .attention-clutter-board { grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
  .attention-tray button, .attention-clutter-board button { padding:8px 2px; gap:6px; min-height:96px; font-size:var(--text-support); }
  .attention-tray button::before, .attention-clutter-board button::before { width:28px; height:28px; }
  .attention-cell-full { display:none; }
  .attention-cell-compact { display:block; }
  .attention-clutter-bank > ol { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .attention-clutter-summary dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .route-grid { gap:6px; }
  .route-grid .route-cell { min-height:64px; }
  .route-cell .route-landmark { display:none; }
  /* Landmark names remain in each control label and the full visible legend. */
  .signal-cases { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .signal-case { padding:10px; }
  .signal-count-summary > dl { gap:12px; }
  .perspective-shelf { gap:6px; padding:4px; }
  .perspective-shelf .shelf-compartment { min-height:100px; }
  .experiment-reveal, .experiment-explanation, .route-comparison,
  .perspective-inspection, .perspective-all-visibility { padding:12px; }
}

/* The optional guide stays within Atlas and uses its existing reference palette. */
.atlas-guide { min-width:0; padding-block:20px; border-block:1px solid var(--line); overflow-wrap:anywhere; }
.atlas-guide h2 { font-size:28px; line-height:1.2; margin:10px 0 14px; }
.atlas-guide h3 { font-size:20px; margin:16px 0 10px; }
.atlas-guide h4 { font-size:16px; margin:12px 0 8px; }
.atlas-guide p { margin:10px 0; line-height:1.55; }
.atlas-guide .atlas-guide-meshes { color:var(--muted); font-size:var(--text-support); }
.atlas-guide-actions, .atlas-guide-stop-chooser > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; margin:16px 0; }
.atlas-guide-actions > p { grid-column:1 / -1; }
.atlas-guide button { min-width:0; min-height:44px; padding:12px 14px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; line-height:1.4; text-align:left; white-space:normal; overflow-wrap:anywhere; }
.atlas-guide button[aria-pressed="true"] { border-color:var(--accent); background:var(--surface-high); box-shadow:inset 3px 0 var(--accent); }
.atlas-guide button:disabled { opacity:.55; cursor:default; }
.atlas-guide :is(button,a,summary):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.atlas-guide-comparison { padding:16px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.atlas-guide-comparison > section + section { border-top:1px solid var(--line); margin-top:16px; padding-top:8px; }
.atlas-guide-source { border-top:1px solid var(--line); padding-top:10px; margin-top:16px; }
.atlas-guide-source summary, .atlas-guide-stop-chooser summary, .anatomy-selector > summary { min-height:44px; padding:12px 0; color:var(--accent); cursor:pointer; line-height:1.5; }
.anatomy-selector > summary { grid-column:1 / -1; font-size:14px; }
.immersive-atlas .anatomy-selector:not([open]) { display:block; }
.immersive-atlas:has(#brain-mount[data-render-state="ready"]) .atlas-guide .fallback-anatomy-note { display:none; }
.immersive-atlas .atlas-layout:has([data-atlas-guide-mode="guided"]) { grid-template-columns:minmax(320px,1fr) minmax(280px,440px); }
.atlas-layout:has([data-atlas-guide-mode="guided"]) > .atlas-model { grid-column:1; grid-row:1; }
.atlas-layout:has([data-atlas-guide-mode="guided"]) > .atlas-lesson { grid-column:2; grid-row:1; }
.atlas-layout:has([data-atlas-guide-mode="guided"]) > .anatomy-selector { grid-column:1 / -1; grid-row:2; }
.atlas-guide :is(h2,h3,button,summary,a) { scroll-margin-block:20px; }
.atlas-return-guide { display:none; }
.atlas-layout:has([data-atlas-guide-mode="guided"]) .atlas-return-guide { display:inline-flex; margin-block:8px; }
#atlas-model-view { scroll-margin-top:16px; }
@media(max-width:720px) {
  .immersive-atlas .atlas-layout:has([data-atlas-guide-mode="guided"]) > .atlas-model { position:relative; }
  .atlas-layout:has([data-atlas-guide-mode="guided"]) > .atlas-lesson { order:1; }
  .atlas-layout:has([data-atlas-guide-mode="guided"]) > .anatomy-selector { order:2; }
  .immersive-atlas .atlas-layout:has([data-atlas-guide-mode="guided"]) .atlas-lesson :is(a,button,h2,h3,summary) { scroll-margin-top:16px; }
}
@media(max-width:600px) {
  .atlas-guide h2 { font-size:24px; }
  .atlas-guide-actions, .atlas-guide-stop-chooser > div { grid-template-columns:1fr; }
  .atlas-guide-comparison { padding:12px; }
}

.scale-gallery-experiment { overflow-wrap:anywhere; }
.scale-gallery-experiment details > summary { min-height:44px; padding:12px 0; cursor:pointer; color:var(--accent); line-height:1.5; }
.scale-gallery-experiment details { margin-block:12px; }
.scale-level-controls { min-width:0; border:1px solid var(--line); border-radius:10px; padding:14px; margin:18px 0; }
.scale-level-controls legend { padding-inline:6px; font-weight:600; }
.scale-level-controls .experiment-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
.scale-gallery-experiment .button { min-width:0; min-height:44px; white-space:normal; overflow-wrap:anywhere; line-height:1.4; }
.scale-quantity { font-size:24px; line-height:1.4; margin:12px 0; }
.scale-measure-facts, .scale-comparison-facts { margin:14px 0; }
.scale-measure-facts dt, .scale-comparison-facts dt { font-weight:600; margin-top:12px; }
.scale-measure-facts dd, .scale-comparison-facts dd { margin:4px 0 12px; }
.scale-comparison-details, .scale-schematic-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.scale-schematic-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
.scale-comparison-side, .scale-schematic { min-width:0; padding:16px; margin:0; border:1px solid var(--line); border-radius:10px; }
.scale-comparison-arithmetic { border-block:1px solid var(--line); padding-block:12px; margin-block:16px; }
.scale-source-panel { border-top:1px solid var(--line); padding-top:12px; margin-top:16px; }
.scale-source-panel h4, .scale-source-panel h5 { font-size:16px; margin-block:8px; }
.scale-source-panel a { text-underline-offset:3px; }
.scale-schematic figcaption { line-height:1.5; font-size:var(--text-support); }
.scale-schematic-shape { position:relative; width:64px; height:48px; margin:6px 0 18px; border:2px solid var(--accent); }
.scale-schematic-brain { border-radius:46% 54% 40% 42%; }
.scale-schematic-brain::after { content:""; position:absolute; inset:9px 17px; border-left:2px solid var(--accent); border-right:2px solid var(--accent); border-radius:50%; }
.scale-schematic-neuron { width:32px; height:32px; margin:14px 16px 26px; border-radius:50%; }
.scale-schematic-neuron::before, .scale-schematic-neuron::after { content:""; position:absolute; width:20px; height:2px; background:var(--accent); top:13px; }
.scale-schematic-neuron::before { left:-20px; transform:rotate(-25deg); transform-origin:right; }
.scale-schematic-neuron::after { right:-20px; transform:rotate(25deg); transform-origin:left; }
.scale-schematic-synapse { border-radius:12px; border-style:dashed; }
.scale-schematic-synapse::after { content:""; position:absolute; inset:14px 23px; border-radius:50%; background:var(--accent); }
@media(max-width:600px) {
  .scale-level-controls { padding:10px; }
  .scale-level-controls .experiment-controls,
  .scale-comparison-details, .scale-schematic-row { grid-template-columns:1fr; }
  .scale-comparison-side, .scale-schematic { padding:12px; }
  .scale-quantity { font-size:22px; }
}

/* Supplied media and reference drawings share the existing reading-room palette. */
.discovery-experiment > .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.slice-figure { margin:16px 0; min-width:0; }
.slice-figure img { display:block; width:min(100%,256px); height:auto; margin-bottom:12px; }
.slice-figure img[hidden] { display:none; }
.slice-metadata { display:grid; grid-template-columns:minmax(120px,1fr) minmax(0,2fr); gap:8px 16px; margin-block:20px; padding-block:16px; border-block:1px solid var(--line); }
.slice-metadata dt { font-weight:600; }
.slice-metadata dd { margin:0; min-width:0; }
.slice-comparison-grid, .slice-comparison-metadata { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.slice-navigation-actions { margin-block:16px; }
.slice-source-details summary { min-height:44px; padding-block:12px; cursor:pointer; }
@media(max-width:600px) {
  .slice-comparison-grid, .slice-comparison-metadata { grid-template-columns:minmax(0,1fr); gap:12px; }
  .slice-metadata { grid-template-columns:minmax(0,1fr); gap:4px; }
  .slice-metadata dd { margin-bottom:12px; }
}
:is([data-experiment-id="sound-between-words"], [data-experiment-id="movement-from-stillness"], [data-experiment-id="slice-room"], [data-experiment-id="follow-the-branch"]) { min-width:0; overflow-wrap:anywhere; }
:is([data-experiment-id="sound-between-words"], [data-experiment-id="movement-from-stillness"], [data-experiment-id="slice-room"], [data-experiment-id="follow-the-branch"]) [hidden] { display:none !important; }
:is([data-experiment-id="sound-between-words"], [data-experiment-id="movement-from-stillness"], [data-experiment-id="slice-room"], [data-experiment-id="follow-the-branch"]) :is(button,select) { min-width:0; min-height:44px; max-width:100%; white-space:normal; line-height:1.4; }
:is([data-experiment-id="sound-between-words"], [data-experiment-id="movement-from-stillness"], [data-experiment-id="slice-room"], [data-experiment-id="follow-the-branch"]) :is(h2,h3,button,select) { scroll-margin-block:20px; }
.movement-media { margin-block:16px; }
.movement-frame-viewer { display:grid; place-items:center; width:min(100%,220px); min-height:220px; margin-block:12px; background:#000; color:#fff; }
.movement-frame-viewer img { display:block; width:100%; height:auto; }
.movement-frame-viewer img[hidden] { display:none; }
.movement-frame-viewer p { padding:16px; }
.movement-frame-controls { display:flex; align-items:end; flex-wrap:wrap; gap:12px; margin-block:16px; }
.movement-frame-controls label { display:grid; gap:8px; min-width:0; }
.movement-contact-sheet { margin-block:20px; padding-block:16px; border-block:1px solid var(--line); }
.movement-contact-sheet ol { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr)); gap:16px; padding:0; list-style:none; }
.movement-contact-sheet li { display:grid; align-content:start; gap:6px; min-width:0; }
.movement-contact-sheet img { display:block; width:min(100%,220px); height:auto; }
.movement-credit { padding-top:12px; border-top:1px solid var(--line); font-size:var(--text-support); line-height:1.6; }
.branch-workspace { display:grid; grid-template-columns:minmax(220px,1fr) minmax(0,2fr); gap:24px; align-items:start; --branch-edge:var(--muted); --branch-highlight:var(--accent); }
.branch-relationships, .branch-projections { min-width:0; }
.branch-projections figure { margin:0 0 20px; max-width:640px; }
.branch-projections figcaption { margin-bottom:12px; line-height:1.6; }
.branch-projections svg { display:block; max-width:100%; background:oklch(17% .006 185); --branch-edge:oklch(74% .012 170); --branch-highlight:oklch(82% .056 167); }
.branch-child-list { display:grid; gap:8px; list-style:none; padding:0; }
.branch-child-list .button { width:100%; justify-content:start; text-align:left; }
.branch-breadcrumb ol { display:flex; flex-wrap:wrap; gap:10px 24px; padding-inline-start:24px; }
.branch-source { margin-top:20px; border-top:1px solid var(--line); padding-top:12px; line-height:1.6; }
.branch-source summary, .branch-breadcrumb summary, .branch-coordinates summary { min-height:44px; padding-block:12px; cursor:pointer; }
@media(max-width:720px) {
  .branch-workspace { grid-template-columns:minmax(0,1fr); gap:16px; }
}
