@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Instrument+Serif:ital@0;1&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500&display=swap');

:root {
  --paper: #ececea;
  --paper-pure: #f7f7f5;
  --paper-dark: #dededb;
  --graphite: #181a1a;
  --carbon: #030404;
  --muted: #686b6b;
  --faint: #a0a2a1;
  --line: rgba(12, 14, 14, .19);
  --line-soft: rgba(12, 14, 14, .085);
  --amber: #9b6619;
  --failure: #9b302c;
  --magenta: #f02db4;
  --cyan: #37e7ea;
  --serif: "Instrument Serif", Georgia, serif;
  --reading: "Source Serif 4", Georgia, serif;
  --mono: "DM Mono", Consolas, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body {
  margin: 0;
  min-width: 320px;
  color: var(--graphite);
  background: var(--paper);
  font-family: var(--mono);
  font-size: 1rem;
  line-height: 1.62;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
.noise {
  position: fixed;
  inset: 0;
  z-index: 40;
  pointer-events: none;
  opacity: .022;
  mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.topbar {
  min-height: 62px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 5rem);
  padding: 0 clamp(1rem, 2.2vw, 2.75rem);
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid var(--line);
  background: rgba(240, 240, 238, .94);
  backdrop-filter: blur(18px);
}
.brand { display: flex; align-items: center; gap: .75rem; font-family: var(--serif); font-size: 1.3rem; letter-spacing: .18em; white-space: nowrap; }
.brand-mark { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; object-fit: cover; object-position: 66% 48%; filter: grayscale(1) contrast(1.12); }
.descriptor { margin: 0; text-align: center; color: var(--muted); font-size: .72rem; letter-spacing: .16em; }
.top-meta { display: flex; align-items: center; gap: 1.35rem; font-size: .7rem; letter-spacing: .12em; white-space: nowrap; }
.top-meta a { color: var(--muted); border-bottom: 1px solid transparent; transition: color .2s, border-color .2s; }
.top-meta a:hover { color: var(--graphite); border-color: currentColor; }

main, footer { width: 100%; }
.masthead {
  position: relative;
  width: 100%;
  height: clamp(260px, 28vw, 570px);
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: #e5e5e3;
}
.masthead img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; filter: contrast(.98) brightness(1.015); }
.masthead::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 110px rgba(0,0,0,.06); }
.masthead-index, .masthead-status { position: absolute; z-index: 2; bottom: 1.15rem; font-size: .68rem; letter-spacing: .16em; color: #5c5f5f; }
.masthead-index { left: clamp(1rem, 2.2vw, 2.75rem); }
.masthead-status { right: clamp(1rem, 2.2vw, 2.75rem); }

.experiment-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(410px, .75fr);
  align-items: stretch;
  border-bottom: 1px solid var(--line);
  background: var(--paper-pure);
}
.intro-copy { padding: clamp(2.8rem, 6vw, 7.5rem) clamp(1.25rem, 4vw, 5.25rem); }
.eyebrow { display: block; margin-bottom: .85rem; color: var(--muted); font-size: .7rem; letter-spacing: .2em; line-height: 1.4; }
h1, h2, h3 { margin: 0; font-family: var(--serif); font-weight: 400; letter-spacing: -.025em; }
h1 { font-size: clamp(4.1rem, 7.7vw, 10.5rem); line-height: .82; }
h1 em, .docs-header h2 em { color: var(--faint); font-weight: 400; }
.dek { max-width: 850px; margin: 2.5rem 0 0; color: var(--muted); font-size: clamp(1rem, 1.15vw, 1.25rem); line-height: 1.8; }
.subject-dossier { display: flex; flex-direction: column; justify-content: space-between; border-left: 1px solid var(--line); padding: clamp(2rem, 4vw, 4.5rem) clamp(1.25rem, 2.5vw, 3.25rem); background: #e8e8e5; }
.dossier-head { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); font-size: .72rem; letter-spacing: .14em; }
.dossier-head span { color: var(--muted); }
.dossier-head strong { font-weight: 400; }
.subject-dossier dl { margin: 1.25rem 0; }
.subject-dossier dl div { display: grid; grid-template-columns: 110px 1fr; gap: 1rem; padding: .72rem 0; border-bottom: 1px solid var(--line-soft); }
.subject-dossier dt { color: var(--muted); font-size: .7rem; letter-spacing: .13em; }
.subject-dossier dd { margin: 0; text-align: right; font-size: .78rem; letter-spacing: .08em; }
.subject-dossier > a { align-self: flex-end; border-bottom: 1px solid currentColor; color: var(--muted); font-size: .7rem; letter-spacing: .12em; }

.instrument-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(520px, .88fr); min-height: 820px; border-bottom: 1px solid var(--line); }
.panel { position: relative; min-width: 0; background: var(--paper-pure); }
.brain-panel { display: grid; grid-template-rows: auto 1fr auto; border-right: 1px solid var(--line); }
.maze-panel { display: grid; grid-template-rows: auto 1fr auto auto; }
.panel-head { min-height: 115px; display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; padding: 1.55rem clamp(1rem, 2vw, 2.4rem) 1.3rem; }
.panel-head h2 { font-size: clamp(2.45rem, 3vw, 4rem); line-height: .95; }
.panel-head .eyebrow { margin-bottom: .7rem; }
.specimen { text-align: right; color: var(--muted); font-size: .68rem; letter-spacing: .12em; line-height: 1.75; }
.specimen span, .specimen strong { display: block; }
.specimen strong { color: var(--graphite); font-weight: 400; }

.brain-stage {
  position: relative;
  min-height: 590px;
  overflow: hidden;
  isolation: isolate;
  cursor: grab;
  background: #020203;
}
.brain-stage:active { cursor: grabbing; }
#brain-canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.brain-stage::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(0,0,0,.24), transparent 18%, transparent 82%, rgba(0,0,0,.24)), linear-gradient(0deg, rgba(0,0,0,.45), transparent 24%);
}
.brain-overlay { position: absolute; z-index: 3; inset: 0; pointer-events: none; }
.brain-label { position: absolute; color: rgba(247, 92, 198, .78); font-size: .68rem; letter-spacing: .14em; }
.brain-label i { display: inline-block; width: 45px; height: 1px; margin-right: .4rem; vertical-align: middle; background: currentColor; }
.label-v1 { left: 8%; top: 42%; }
.label-lm { right: 10%; top: 24%; }
.label-th { right: 18%; top: 68%; color: rgba(61, 218, 223, .72); }
.interaction-hint { position: absolute; z-index: 4; left: clamp(1rem, 2vw, 2.4rem); bottom: 1rem; color: rgba(255,255,255,.48); font-size: .68rem; letter-spacing: .13em; }
.signal-readout { position: absolute; z-index: 4; right: clamp(1rem, 2vw, 2.4rem); bottom: 1rem; text-align: right; }
.signal-readout span { display: block; color: white; font-size: 1.25rem; letter-spacing: .08em; line-height: 1.2; }
.signal-readout small { color: rgba(255,255,255,.48); font-size: .66rem; letter-spacing: .12em; }
.activity-scale { position: absolute; z-index: 4; top: 1rem; left: clamp(1rem, 2vw, 2.4rem); display: flex; align-items: center; gap: 4px; color: rgba(255,255,255,.44); font-size: .64rem; letter-spacing: .13em; }
.activity-scale span { margin-right: .45rem; }
.activity-scale i { width: 18px; height: 3px; background: #5c4ac7; }
.activity-scale i:nth-of-type(2) { background: #1ab9d2; }
.activity-scale i:nth-of-type(3) { background: #4fd079; }
.activity-scale i:nth-of-type(4) { background: #f0cc35; }
.activity-scale i:nth-of-type(5) { background: #ef3aa4; }
.brain-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); background: var(--paper-pure); }
.brain-stats > div { min-width: 0; padding: 1.05rem clamp(.75rem, 1.4vw, 1.5rem); border-right: 1px solid var(--line); }
.brain-stats > div:last-child { border-right: 0; }
.brain-stats span, .metric span, .record-grid span, .subject-strip > div > span, .research-signals > div > span { display: block; color: var(--muted); font-size: .68rem; letter-spacing: .13em; }
.brain-stats strong { display: block; margin-top: .25rem; font-size: 1.08rem; font-weight: 400; line-height: 1.35; }
.brain-stats small { display: block; color: var(--muted); font-size: .67rem; }

.maze-head { border-bottom: 1px solid var(--line); background: #f1f1ef; }
.maze-head h2 { font-family: var(--mono); font-size: 1rem; letter-spacing: .07em; }
.trial-state { align-self: center; color: var(--amber); font-size: .7rem; letter-spacing: .14em; }
.trial-state.failed { color: var(--failure); }
.trial-state.thinking { color: #6e4a18; }
.maze-status-block { display: flex; align-items: center; gap: clamp(1rem, 2vw, 2.2rem); }
.next-trial { min-width: 104px; padding-left: clamp(1rem, 2vw, 2.2rem); border-left: 1px solid var(--line); text-align: right; }
.next-trial span { display: block; color: var(--muted); font-size: .62rem; letter-spacing: .13em; }
.next-trial strong { display: block; margin-top: .1rem; font-size: 1.1rem; font-weight: 400; letter-spacing: .08em; line-height: 1.25; }
.maze-wrap { position: relative; min-height: 590px; display: grid; place-items: center; padding: 2.2rem; overflow: hidden; background: #f2f2f0; }
.maze-wrap::before { content: ""; position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px); background-size: 30px 30px; mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent); }
#maze-canvas { position: relative; width: min(100%, 650px); aspect-ratio: 1; max-height: 62vh; object-fit: contain; filter: drop-shadow(0 12px 24px rgba(0,0,0,.065)); }
.maze-key { position: absolute; right: 1.25rem; bottom: .9rem; display: flex; gap: .85rem; color: var(--muted); font-size: .64rem; letter-spacing: .09em; }
.maze-key i { display: inline-block; width: 8px; height: 8px; margin-right: .32rem; vertical-align: middle; }
.key-start { background: var(--graphite); }
.key-goal { border: 1px solid var(--amber); }
.key-trace { border-top: 2px solid var(--graphite); }
.key-rejected { border-top: 2px solid rgba(155,48,44,.6); }
.solver-strip { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); }
.metric { padding: 1rem clamp(.6rem, 1.2vw, 1.3rem); border-right: 1px solid var(--line); }
.metric:last-child { border-right: 0; }
.metric strong { display: block; margin-top: .25rem; font-size: 1.2rem; font-weight: 400; line-height: 1.25; }
.metric small { color: var(--muted); font-size: .65rem; }
.server-strip { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); color: var(--muted); font-size: .62rem; letter-spacing: .09em; }
.server-strip span { padding: .68rem .85rem; border-right: 1px solid var(--line); text-align: center; }
.server-strip span:last-child { border-right: 0; }

.subject-strip { display: grid; grid-template-columns: 1.35fr repeat(5,1fr); border-bottom: 1px solid var(--line); background: var(--graphite); color: var(--paper-pure); }
.subject-strip > div { min-height: 125px; padding: 1.2rem clamp(.85rem, 1.5vw, 1.7rem); border-right: 1px solid rgba(255,255,255,.15); }
.subject-strip > div:last-child { border-right: 0; }
.subject-strip .eyebrow, .subject-strip > div > span, .subject-strip small { color: #aeb0ae; }
.subject-title h2 { font-size: 2.25rem; line-height: 1; }
.subject-strip strong { display: block; margin: .8rem 0 .05rem; font-size: 1.1rem; font-weight: 300; line-height: 1.25; overflow-wrap: anywhere; }
.subject-strip small { font-size: .66rem; }

.telemetry { display: grid; grid-template-columns: minmax(430px, .75fr) minmax(0, 1.25fr); border-bottom: 1px solid var(--line); }
.record-card { padding: 1.8rem clamp(1rem, 2.2vw, 2.6rem) 0; border-right: 1px solid var(--line); }
.record-main { min-height: 260px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.record-main small, .record-main span { display: block; color: var(--muted); font-size: .7rem; letter-spacing: .15em; }
.record-main strong { display: block; font-family: var(--serif); font-size: clamp(5rem, 7vw, 9rem); font-weight: 400; line-height: .8; letter-spacing: -.05em; }
.record-badge { width: 118px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; text-align: center; color: var(--muted); font-size: .65rem; letter-spacing: .1em; transform: rotate(-7deg); }
.record-badge.hot { border-color: var(--amber); color: var(--amber); }
.record-badge.fail { border-color: var(--failure); color: var(--failure); }
.record-grid { display: grid; grid-template-columns: repeat(4,1fr); margin: 0 calc(clamp(1rem, 2.2vw, 2.6rem) * -1); border-top: 1px solid var(--line); }
.record-grid > div { padding: 1rem clamp(.7rem, 1vw, 1.15rem); border-right: 1px solid var(--line); }
.record-grid > div:last-child { border-right: 0; }
.record-grid strong { display: block; margin-top: .35rem; font-size: 1.18rem; font-weight: 400; }
.learning-card { min-width: 0; }
.log-head { min-height: 114px; display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; padding: 1.55rem clamp(1rem, 2vw, 2.4rem) 1.25rem; border-bottom: 1px solid var(--line); }
.log-head h2 { font-size: clamp(2.25rem, 3vw, 3.65rem); line-height: .95; }
.data-link { color: var(--muted); border-bottom: 1px solid currentColor; font-size: .68rem; letter-spacing: .12em; white-space: nowrap; }
.log-columns, .log-entry { display: grid; grid-template-columns: 78px 62px 82px minmax(0,1fr) 75px; gap: .65rem; align-items: center; }
.log-columns { padding: .55rem clamp(1rem, 2vw, 2.4rem); border-bottom: 1px solid var(--line); color: var(--muted); font-size: .62rem; letter-spacing: .12em; }
.log-list { height: 300px; overflow-y: auto; scrollbar-color: #7a7c7b transparent; }
.log-entry { padding: .76rem clamp(1rem, 2vw, 2.4rem); border-bottom: 1px solid var(--line-soft); animation: logIn .35s ease; }
@keyframes logIn { from { opacity: 0; transform: translateY(-6px); } }
.log-entry time, .log-entry b, .log-trial, .log-code { font-size: .68rem; font-weight: 400; }
.log-entry time, .log-entry b, .log-trial { color: var(--muted); }
.log-code { color: var(--amber); letter-spacing: .08em; }
.log-code.fail-code, .log-code.reverse-code { color: var(--failure); }
.log-code.recover-code { color: var(--graphite); }
.log-entry p { margin: 0; overflow: hidden; color: #424545; font-size: .73rem; white-space: nowrap; text-overflow: ellipsis; }
.log-entry b { text-align: right; }

.research-signals { display: grid; grid-template-columns: 1.45fr repeat(4,1fr); border-bottom: 1px solid var(--line); background: #dfe0de; }
.research-signals > div { min-height: 145px; padding: 1.35rem clamp(.85rem, 1.5vw, 1.7rem); border-right: 1px solid var(--line); }
.research-signals > div:last-child { border-right: 0; }
.research-signals h2 { font-size: 2.5rem; line-height: 1; }
.research-signals strong { display: block; margin: .75rem 0 .1rem; font-size: 1.55rem; font-weight: 300; }
.research-signals small { color: var(--muted); font-size: .67rem; }

.documentation { background: #fafaf8; }
.docs-header { display: grid; grid-template-columns: 1fr .75fr; align-items: end; gap: clamp(3rem, 7vw, 9rem); padding: clamp(4rem, 6vw, 6.5rem) clamp(1.25rem, 5vw, 6.5rem); border-bottom: 1px solid var(--line); }
.docs-header h2 { font-size: clamp(3.8rem, 5.5vw, 7rem); line-height: .9; }
.docs-header > p { max-width: 700px; margin: 0 0 .5rem; color: #545756; font-family: var(--reading); font-size: 1.12rem; line-height: 1.75; }
.docs-body { width: min(100%, 1680px); margin: 0 auto; display: grid; grid-template-columns: 235px minmax(0, 1fr); border-left: 1px solid var(--line-soft); border-right: 1px solid var(--line-soft); }
.docs-index { align-self: start; position: sticky; top: 62px; display: flex; flex-direction: column; padding: 2rem 1.5rem; border-right: 1px solid var(--line); }
.docs-index > span { margin-bottom: 1.1rem; color: var(--muted); font-size: .68rem; letter-spacing: .16em; }
.docs-index a { display: grid; grid-template-columns: 36px 1fr; padding: .72rem 0; border-bottom: 1px solid var(--line-soft); color: var(--muted); font-size: .75rem; }
.docs-index a:hover { color: var(--graphite); }
.docs-index b { color: var(--amber); font-weight: 400; }
.docs-articles article { scroll-margin-top: 62px; display: grid; grid-template-columns: 150px minmax(0,1fr); column-gap: clamp(2rem, 4vw, 5rem); padding: clamp(3.5rem, 5vw, 5.5rem) clamp(1.25rem, 4vw, 5rem); border-bottom: 1px solid var(--line); }
.doc-number { grid-row: 1 / span 5; color: var(--muted); font-size: .7rem; letter-spacing: .17em; }
.docs-articles h3 { max-width: 980px; font-size: clamp(2.4rem, 3.6vw, 4.7rem); line-height: 1; }
.docs-articles p { max-width: 860px; margin: 1.75rem 0 0; color: #4f5351; font-family: var(--reading); font-size: 1.08rem; line-height: 1.78; }
.docs-articles blockquote { max-width: 900px; margin: 2.5rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid var(--line); font-family: var(--reading); font-size: clamp(1.75rem, 2.5vw, 2.8rem); font-style: italic; line-height: 1.18; color: #858886; }
.inline-cite { margin-left: .28em; border-bottom: 1px solid var(--graphite); color: var(--graphite); font-size: .72em; vertical-align: super; }
.method-figure { max-width: 940px; display: grid; grid-template-columns: minmax(260px, .68fr) minmax(190px, .32fr); align-items: end; gap: 1.5rem; margin: 2.5rem 0 0; padding: clamp(1rem, 2vw, 2rem); border: 1px solid var(--line); background: #f2f0e7; }
.method-figure img { width: 100%; max-height: 720px; display: block; object-fit: contain; mix-blend-mode: multiply; }
.method-figure figcaption { padding-top: 1rem; border-top: 1px solid var(--line); }
.method-figure figcaption span { display: block; color: var(--amber); font-size: .7rem; letter-spacing: .14em; }
.method-figure figcaption p { margin: .75rem 0 1.25rem; font-size: .95rem; line-height: 1.6; }
.method-figure figcaption a { border-bottom: 1px solid currentColor; color: var(--muted); font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; }
.doc-data-grid { display: grid; grid-template-columns: repeat(4,1fr); max-width: 940px; margin-top: 2rem; border: 1px solid var(--line); }
.doc-data-grid div { padding: 1rem 1.2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.doc-data-grid div:last-child { border-right: 0; }
.doc-data-grid div { border-bottom: 0; }
.doc-data-grid span { display: block; color: var(--muted); font-size: .68rem; letter-spacing: .13em; }
.doc-data-grid strong { display: block; margin-top: .4rem; font-size: .95rem; font-weight: 400; }
.protocol-list { max-width: 980px; margin: 2.5rem 0 0; padding: 0; list-style: none; counter-reset: protocol; border-top: 1px solid var(--line); }
.protocol-list li { counter-increment: protocol; display: grid; grid-template-columns: 42px 180px 1fr; gap: 1rem; padding: 1.15rem 0; border-bottom: 1px solid var(--line-soft); }
.protocol-list li::before { content: "0" counter(protocol); color: var(--amber); font-size: .72rem; }
.protocol-list b { font-size: .78rem; font-weight: 400; letter-spacing: .04em; }
.protocol-list span { color: var(--muted); font-size: .85rem; }
.glossary { display: grid; grid-template-columns: repeat(2,1fr); max-width: 980px; margin-top: 2.5rem; border: 1px solid var(--line); }
.glossary > div { min-height: 180px; padding: 1.25rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.glossary > div:nth-child(2n) { border-right: 0; }
.glossary > div:nth-last-child(-n+2) { border-bottom: 0; }
.glossary b { color: var(--amber); font-size: .72rem; font-weight: 400; letter-spacing: .12em; }
.glossary p { margin: .8rem 0 0; font-size: .84rem; line-height: 1.7; }
.event-key { display: grid; grid-template-columns: repeat(2,1fr); max-width: 980px; margin-top: 2.5rem; border-top: 1px solid var(--line); }
.event-key span { padding: 1rem 0; border-bottom: 1px solid var(--line-soft); color: var(--muted); font-size: .8rem; }
.event-key span:nth-child(odd) { border-right: 1px solid var(--line); }
.event-key span:nth-child(even) { padding-left: 1.2rem; }
.event-key b { display: inline-block; width: 92px; color: var(--graphite); font-weight: 400; }
.source-list { max-width: 980px; margin-top: 2.5rem; border: 1px solid var(--line); }
.source-list a { min-height: 92px; display: grid; grid-template-columns: 54px 1fr auto; gap: 1rem; align-items: center; padding: 1rem 1.25rem; border-bottom: 1px solid var(--line); transition: background .2s; }
.source-list a:last-child { border-bottom: 0; }
.source-list a:hover { background: var(--paper-dark); }
.source-list a > b { color: var(--amber); font-size: .72rem; font-weight: 400; }
.source-list strong, .source-list small { display: block; }
.source-list strong { font-family: var(--serif); font-size: 1.45rem; font-weight: 400; line-height: 1.1; }
.source-list small { margin-top: .3rem; color: var(--muted); font-size: .72rem; }
.source-list i { font-style: normal; color: var(--muted); }

footer { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem clamp(1rem, 2.2vw, 2.75rem); background: var(--paper); color: var(--muted); font-size: .67rem; letter-spacing: .12em; }
footer a { border-bottom: 1px solid transparent; }
footer a:hover { color: var(--graphite); border-color: currentColor; }
.brain-stage.quiescent .activity-scale { opacity: .32; }

@media (max-width: 1280px) {
  .descriptor { display: none; }
  .topbar { grid-template-columns: 1fr auto; }
  .experiment-intro { grid-template-columns: minmax(0,1.2fr) minmax(360px,.8fr); }
  .instrument-grid { grid-template-columns: 1fr; }
  .brain-panel { border-right: 0; border-bottom: 1px solid var(--line); }
  .brain-stage { min-height: 680px; }
  .maze-wrap { min-height: 680px; }
  .subject-strip { grid-template-columns: repeat(3,1fr); }
  .subject-strip > div { border-bottom: 1px solid rgba(255,255,255,.15); }
  .subject-strip > div:nth-child(3n) { border-right: 0; }
  .telemetry { grid-template-columns: 1fr; }
  .record-card { border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 860px) {
  .topbar { min-height: 56px; }
  .top-meta a:nth-child(2), .top-meta a:last-child { display: none; }
  .masthead { height: clamp(210px, 34vw, 300px); }
  .experiment-intro { grid-template-columns: 1fr; }
  .subject-dossier { border-left: 0; border-top: 1px solid var(--line); }
  h1 { font-size: clamp(4rem, 15vw, 7rem); }
  .brain-stage, .maze-wrap { min-height: 520px; }
  .subject-strip { grid-template-columns: repeat(2,1fr); }
  .subject-strip > div:nth-child(3n) { border-right: 1px solid rgba(255,255,255,.15); }
  .subject-strip > div:nth-child(2n) { border-right: 0; }
  .research-signals { grid-template-columns: repeat(2,1fr); }
  .research-signals .signal-title { grid-column: 1 / -1; }
  .docs-header { grid-template-columns: 1fr; gap: 2rem; }
  .docs-body { grid-template-columns: 1fr; }
  .docs-index { position: static; display: grid; grid-template-columns: repeat(2,1fr); border-right: 0; border-bottom: 1px solid var(--line); }
  .docs-index > span { grid-column: 1 / -1; }
  .docs-articles article { grid-template-columns: 1fr; }
  .doc-number { grid-row: auto; margin-bottom: 1.5rem; }
  .method-figure { grid-template-columns: 1fr; }
  .method-figure figcaption { display: grid; grid-template-columns: auto 1fr auto; align-items: start; gap: 1rem; }
  .method-figure figcaption p { margin: 0; }
  .doc-data-grid { grid-template-columns: repeat(2,1fr); }
  .doc-data-grid div { border-bottom: 1px solid var(--line); }
  .doc-data-grid div:nth-child(2n) { border-right: 0; }
  .doc-data-grid div:nth-last-child(-n+2) { border-bottom: 0; }
}

@media (max-width: 580px) {
  .topbar { padding: 0 .8rem; }
  .brand { font-size: 1.1rem; }
  .brand-mark { width: 30px; height: 30px; }
  .top-meta { gap: .75rem; }
  .top-meta a:first-child { display: none; }
  .masthead { height: 185px; }
  .masthead-status { display: none; }
  .intro-copy { padding: 3rem 1rem; }
  .dek { margin-top: 1.5rem; }
  .subject-dossier { padding: 1.5rem 1rem; }
  .subject-dossier dl div { grid-template-columns: 90px 1fr; }
  .panel-head { min-height: 100px; padding: 1.2rem 1rem; }
  .maze-status-block { gap: .7rem; }
  .next-trial { min-width: 82px; padding-left: .7rem; }
  .next-trial strong { font-size: .92rem; }
  .specimen { display: none; }
  .brain-stage { min-height: 410px; }
  .brain-stats { grid-template-columns: repeat(2,1fr); }
  .brain-stats > div:nth-child(2n) { border-right: 0; }
  .brain-stats > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .maze-wrap { min-height: 390px; padding: 1rem; }
  #maze-canvas { max-height: none; }
  .maze-key { display: none; }
  .solver-strip { grid-template-columns: repeat(2,1fr); }
  .metric:nth-child(2n) { border-right: 0; }
  .metric:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .server-strip { grid-template-columns: 1fr; }
  .server-strip span { border-right: 0; border-bottom: 1px solid var(--line); }
  .server-strip span:last-child { border-bottom: 0; }
  .subject-strip { grid-template-columns: 1fr 1fr; }
  .subject-title { grid-column: 1 / -1; }
  .record-main { min-height: 220px; }
  .record-main strong { font-size: 4.8rem; }
  .record-badge { width: 92px; }
  .record-grid { grid-template-columns: repeat(2,1fr); }
  .record-grid > div:nth-child(2n) { border-right: 0; }
  .record-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .data-link, .log-columns { display: none; }
  .log-entry { grid-template-columns: 60px 46px 64px 1fr; padding: .72rem 1rem; }
  .log-entry b { display: none; }
  .research-signals { grid-template-columns: 1fr 1fr; }
  .docs-header { padding: 4rem 1rem; }
  .docs-header h2 { font-size: 3.7rem; }
  .docs-index { grid-template-columns: 1fr; padding: 1.5rem 1rem; }
  .docs-index > span { grid-column: 1; }
  .docs-articles article { padding: 3.5rem 1rem; }
  .docs-articles h3 { font-size: 2.7rem; }
  .method-figure { padding: 1rem; }
  .method-figure img { max-height: none; }
  .method-figure figcaption { display: block; }
  .method-figure figcaption p { margin: .75rem 0 1.25rem; }
  .doc-data-grid, .glossary, .event-key { grid-template-columns: 1fr; }
  .doc-data-grid div, .glossary > div, .event-key span:nth-child(odd) { border-right: 0; }
  .doc-data-grid div { border-bottom: 1px solid var(--line); }
  .doc-data-grid div:last-child { border-bottom: 0; }
  .glossary > div:nth-child(3) { border-bottom: 1px solid var(--line); }
  .protocol-list li { grid-template-columns: 34px 1fr; }
  .protocol-list span { grid-column: 2; }
  .event-key span:nth-child(even) { padding-left: 0; }
  .source-list a { grid-template-columns: 42px 1fr auto; }
  footer { flex-wrap: wrap; }
  footer span:nth-child(2) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
