/* One editorial family throughout, with monospace reserved for source material. */
:root,body,body.research-page {
  --reading-font:Georgia,'Times New Roman','Songti SC','SimSun',serif;
  --ui-font:var(--reading-font);
  --font:var(--reading-font);
  font-family:var(--reading-font);
}
body {font-size:18px;line-height:1.65}
body.research-page {--bg:#faf9f5;--surface:#fffefa;--text:#242321;--muted:#5c5a55;--border:#deddd5;--edition-wash:#f2f1eb}
body h1,body h2,body h3,body h4,body .page-heading h1,body .usage-intro h1,
body .research-chapter h2,body.research-page .trace-story h3,
body .rank-identity h3 {font-family:var(--reading-font);font-weight:400;letter-spacing:-.025em}
body button,body input,body select,body nav,body .brand,body .button,body .preferences,
body .filters,body .catalog-pager,body .source-strip,body .scenario-scores,
body .success-scores,body .call-count,body .score-label,body .score-value,
body .research-facts,body .site-footer {font-family:var(--ui-font)}
body .research-intro h1,body .entry-main h1 {font-family:var(--reading-font);font-weight:500;letter-spacing:-.045em;line-height:1.07}
body .entry-main h1 {font-size:clamp(52px,7vw,92px)}
html[lang=en] body .entry-description,body .entry-description {font:400 23px/1.5 var(--reading-font);max-width:520px;letter-spacing:0;color:#33332e}
body .enter-link {font:16px/1.3 var(--ui-font);border-radius:5px;background:#20211e;border-color:#20211e}
body .entry-tools button,body #entry-motion,body .entry-bottom {font:16px/1.5 var(--ui-font)}
body .archive-caption [data-caption],body .caption-separator,body .archive-mark {display:none}
body .research-subtitle {font:400 27px/1.45 var(--reading-font)}
body .research-question {font:400 19px/1.6 var(--reading-font);max-width:670px}
body .research-chapter > .page-heading h2,body .research-chapter > .usage-intro h2,
body .research-chapter > .usage-section-head h2 {font:400 clamp(32px,4vw,42px)/1.2 var(--reading-font);margin-bottom:16px}
body .research-chapter > .page-heading {padding-bottom:12px}
body .research-nav a,body .header-inner nav a {font-size:16px}
body .research-nav {gap:20px}
body .research-resources .button {font-size:16px;border-radius:5px}
body .research-facts > span {font-size:16px}
body .research-facts strong {font:400 28px/1.2 var(--reading-font)}
body .lead,body .prose p,body .usage-description {font-family:var(--reading-font);font-size:19px}
body .filters label,body .filters input,body .filters select,body .source-choice,
body .source-strip dt,body .source-strip dd,body .catalog-caption,body .catalog-pager,
body .results-nav a,body .section-title a,body .usage-section-head>a,
body .usage-case-links a,body .research-page .case-meta {font-size:16px}
.usage-case-links>span {display:none}
body .research-chapter .usage-case-links {gap:24px}
body .scenario-chip {font-size:16px}
body .scenario-chip small {display:none}
body .scenario-note {font:18px/1.55 var(--reading-font)}

/* One note entry replaces several unrelated micro-labels in each section. */
.section-notes {border:0;margin:22px 0 0}
.section-notes>summary {display:flex;align-items:center;gap:10px;width:max-content;cursor:pointer;list-style:none;font:16px/1.5 var(--ui-font);padding:8px 0}
.section-note-links {display:flex;flex-wrap:wrap;gap:8px 28px;padding:10px 0}
.section-note-links .compact-peek {margin:0}
body .peek-trigger,body .task-entry .peek-trigger,body #scenarios .peek-trigger {font:16px/1.5 var(--ui-font);min-height:36px}
body .peek-panel,body .peek-panel p,body .peek-panel .lead,body .peek-panel dd {font:18px/1.65 var(--reading-font)!important}
body .peek-toolbar strong {font:600 16px/1.5 var(--ui-font)}
body .peek-mark {display:none}
body .compact-section>summary,body .research-extra>summary {font:400 23px/1.4 var(--reading-font);align-items:center}
body .compact-section>summary::after,body .research-extra>summary::after,
body .section-notes>summary::after,body .trace-explorer>summary::after,
body .story-record>summary::after {
  content:'';display:inline-block;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);flex:none;margin:0 3px 4px 12px;
}
body .compact-section>summary::after,body .research-extra>summary::after {margin-left:auto}
body .compact-section[open]>summary::after,body .research-extra[open]>summary::after,
body .section-notes[open]>summary::after,body .trace-explorer[open]>summary::after,
body .story-record[open]>summary::after {content:'';transform:rotate(225deg);margin-bottom:0}
body .story-record>summary::before {content:none}
body .section-notes>summary::-webkit-details-marker,body .trace-explorer>summary::-webkit-details-marker,
body .story-record>summary::-webkit-details-marker {display:none}

/* The paper values stay visible, at reading size, without repeated scale notes. */
body .rank-card .rank-identity {gap:18px}
body .rank-identity h3,body .ranking-mean h3 {font:400 22px/1.3 var(--reading-font)}
body .call-count {font-size:16px}
body .rank-score .score-label {font-size:16px}
body .score-label small {display:none!important}
body .rank-card .score-value,body .ranking-mean .score-value {font:400 28px/1.1 var(--reading-font)}
body #leaderboard .scenario-scores dt,body .scenario-scores dt {font-size:16px;color:var(--text)}
body #leaderboard .scenario-scores dd,body .scenario-scores dd {font-size:17px}
body #leaderboard .scenario-scores .uncertainty,body .scenario-scores .uncertainty {font-size:15px}
body .ranking-mean {padding:17px 18px;background:var(--edition-wash)}
body .rank-card-heading,body .ranking-mean .rank-card-heading,
body #leaderboard .rank-card-heading {grid-template-columns:32px minmax(0,1fr) minmax(200px,34%);gap:14px}
body .ranking-mean .rank-identity {grid-column:2;gap:18px}
body .ranking-mean .rank-score {grid-column:3}
body .rank-card .scenario-scores,body .ranking-mean .scenario-scores {margin-left:46px}
body .rank-identity {min-width:0}
body .rank-identity h3 {overflow-wrap:normal}

/* A single native scrolling surface: no duplicated records or moving detail panels. */
.story-rail {margin:0 0 28px;min-width:0}
.story-controls {display:flex;justify-content:flex-end;gap:8px;margin:0 0 12px}
.story-controls button {display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text);font:20px/1 var(--ui-font);cursor:pointer}
.story-controls button:hover {background:var(--edition-wash);border-color:var(--muted)}
.story-controls button[aria-pressed=true] {background:var(--edition-wash)}
.story-window {overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;overflow-anchor:none;padding:0 0 20px}
.story-window::-webkit-scrollbar {display:none}
.story-window:focus-visible {outline:2px solid var(--accent);outline-offset:5px}
.story-gallery {display:flex;align-items:flex-start;gap:32px;margin:0;width:100%}
.story-gallery .trace-story {flex:0 0 calc((100% - 48px)/2);min-width:0;padding:22px 0 12px;border-top:1px solid var(--border)}
body.research-page .trace-story h3,body .trace-story h3 {font:400 26px/1.3 var(--reading-font);min-height:1.3em;margin:0;display:block}
.story-art {height:300px;min-height:0;justify-content:center;padding:18px 0 20px}
.story-art img {width:90%;height:100%;object-fit:contain;max-width:470px}
body .story-stages button {font:16px/1.35 var(--ui-font);color:var(--text);gap:10px;min-height:78px}
.stage-dot {font:14px/1 var(--ui-font);width:29px;height:29px}
.story-stages::before {top:14px}
body .story-record>summary {font:16px/1.5 var(--ui-font)!important;color:var(--text);padding:8px 0!important;gap:0;width:max-content}
body .story-record {margin-top:4px}
body .story-record .story-plot {display:block;width:72%;max-width:330px;margin:24px auto 0}
body .story-record .story-stages {margin-top:24px}
body .story-record p {font:17px/1.55 var(--reading-font)}
body .story-record pre {font-size:14px;background:var(--edition-wash);padding:16px}
body .story-record .story-source {font:14px/1.6 Consolas,monospace!important;color:var(--muted)}
body .story-record .story-seq {font-size:14px;margin-left:12px}
body .trace-explorer>summary {display:flex;align-items:center;list-style:none;font:400 23px/1.4 var(--reading-font)}
body .story-legend {font:18px/1.6 var(--reading-font)!important;color:var(--text)}
body .figure-provenance>summary {font:400 21px/1.5 var(--reading-font)}
body .usage-requirements,body .usage-jump {font-size:17px}
body .evidence-navigation select,body #trajectories .evidence-navigation button,
body #trajectories .evidence-navigation select,body .evidence-permalink {font-size:16px}
body .site-footer {font-size:16px}
body .result-downloads a,body .usage-jump a,body .usage-requirements a,
body .research-chapter > .usage-section-head > a,body #leaderboard .results-nav a {font-size:16px!important}
body #tasks .task-entry h3,body .task-entry h3 {font:400 20px/1.45 var(--reading-font)}
body #tasks .task-entry h3 a,body .task-entry h3 a {font:inherit}

:root[data-theme=dark] body.research-page {--bg:#20211e;--surface:#282925;--text:#eeeae0;--muted:#bcb9b1;--border:#45463f;--edition-wash:#2d2e29}
@media(max-width:1100px) {
  body .research-nav {gap:14px}
  body .research-nav a {font-size:15px}
  body .rank-card .rank-identity {display:block}
  body .rank-card .call-count {margin-top:8px;margin-left:44px}
  body #leaderboard .scenario-scores {gap:10px}
  body #leaderboard .scenario-scores dd {font-size:16px}
  body #leaderboard .scenario-scores .uncertainty {display:block;margin-left:0;font-size:15px}
}
@media(max-width:700px) {
  body {font-size:17px}
  body .ranking-mean {padding-inline:10px}
  body .entry-main h1 {font-size:clamp(42px,11vw,68px)}
  html[lang=en] body .entry-description,body .entry-description {font-size:20px;max-width:370px}
  body .entry-bottom,body #entry-motion {font-size:14px}
  body .research-subtitle {font-size:23px}
  body .research-question {font-size:18px}
  body .research-nav a {font-size:15px}
  body .story-gallery {gap:24px}
  .story-gallery .trace-story {flex-basis:calc(100% - 28px)}
  body.research-page .trace-story h3,body .trace-story h3 {font-size:25px;min-height:2.6em}
  .story-art {height:225px;min-height:0;gap:0;padding:10px 0 16px}
  .story-art img {width:96%}
  body .story-stages button {font-size:15px}
  body .rank-card-heading,body .ranking-mean .rank-card-heading,body #leaderboard .rank-card-heading {grid-template-columns:28px minmax(0,1fr);gap:10px}
  body .rank-card .rank-score,body .ranking-mean .rank-score {grid-column:1/-1;margin-left:38px}
  body .rank-card .scenario-scores,body .ranking-mean .scenario-scores {margin-left:0}
  body .rank-identity h3 {font-size:21px}
  body .compact-section>summary,body .research-extra>summary,body .trace-explorer>summary {font-size:21px}
}
@media print {
  .story-controls {display:none}
  .story-window {overflow:visible}
  .story-gallery {display:grid;grid-template-columns:1fr 1fr}
}

/* Earlier component styles have their own font shorthands. Keep navigation,
   controls, charts and translated labels on the same family in both languages. */
body,body * {font-family:var(--reading-font)!important}
body pre,body code,body kbd,body samp,body pre *,body code *,body kbd *,body samp *,
body .mono,body .mono *,body .fig-mono,body .fig-hash,
body .story-source {font-family:Consolas,'Courier New',monospace!important}

/* The explorer starts with the situation. Commands and the complete evidence
   map remain accessible without occupying the default reading surface. */
body .story-detail-link {display:inline-flex;align-items:center;gap:10px;padding:10px 0;min-height:44px;font-size:17px;color:var(--text);text-decoration:none;border:0}
body .story-detail-link:hover {color:var(--accent);text-decoration:underline;text-underline-offset:5px}
body .evidence-tabs,#trajectories .evidence-tabs {flex-wrap:wrap}
body .evidence-sequence {list-style:none;margin:0;padding:0;max-width:740px}
body .evidence-sequence li {border-bottom:1px solid var(--border)}
body .sequence-event {display:grid;grid-template-columns:90px 1fr 1fr 55px;align-items:center;gap:20px;width:100%;text-align:left;border:0;border-radius:0;background:none;color:var(--text);padding:22px 10px;cursor:pointer;font-size:19px}
body .sequence-event:hover,body .sequence-event.selected {background:var(--edition-wash)}
body .sequence-time,body .sequence-id {color:var(--muted);font-size:16px}
body .sequence-value {font-weight:400}
body .trace-explorer .story-legend.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body .evidence-tabs {gap:32px;justify-content:flex-start;margin-top:20px}
body .evidence-tabs button {font-size:17px;padding:12px 0}
body .evidence-heading {margin:26px 0 12px}
body .evidence-heading h3,body .evidence-heading h2 {font:400 25px/1.35 var(--reading-font);margin:0}
body .evidence-model {font-size:16px}
body .evidence-focus {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,1fr);align-items:center;gap:64px;padding:16px 36px 28px;min-width:0}
body .evidence-scene {display:block;width:100%;height:290px;object-fit:contain}
body .evidence-points {display:grid;gap:8px}
body .focus-point {display:grid;grid-template-columns:1fr;gap:3px;text-align:left;padding:12px 18px;background:none;border:0;border-left:2px solid var(--border);border-radius:0;cursor:pointer;color:var(--text);min-width:0}
body .focus-point:hover,body .focus-point.selected {border-left-color:var(--accent);background:var(--edition-wash)}
body .focus-label {font-size:17px;color:var(--muted)}
body .focus-value {font-size:23px;line-height:1.3;overflow-wrap:anywhere}
body .evidence-record-panel,body .evidence-map-panel {border-top:1px solid var(--border);margin:0;padding:0;scroll-margin-top:130px}
body .evidence-record-panel>summary,body .evidence-map-panel>summary {display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:15px 0;font-size:19px}
body .evidence-record-panel>summary::after,body .evidence-map-panel>summary::after {content:'';width:7px;height:7px;border-bottom:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);margin-right:4px}
body .evidence-record-panel[open]>summary::after,body .evidence-map-panel[open]>summary::after {transform:rotate(225deg)}
body .evidence-record-panel>summary::-webkit-details-marker,body .evidence-map-panel>summary::-webkit-details-marker {display:none}
body .evidence-record-panel {max-width:780px;margin:0 auto}
body .evidence-record {display:block;border:0;padding:0;max-width:none}
body .evidence-record h3 {font-size:22px;line-height:1.45;margin-bottom:16px}
body .evidence-record .record-content {font-size:14px;padding:15px 18px;line-height:1.65;background:var(--edition-wash);max-height:100px;margin:0}
body .evidence-record .record-eyebrow {font-size:16px}
body .evidence-record-panel .evidence-navigation {border:0;padding:0 0 12px;gap:10px}
body .evidence-record-panel .evidence-navigation select {font:15px/1.4 var(--reading-font);min-height:38px;max-width:100%}
body .evidence-record-panel .evidence-navigation button {font-size:20px;min-width:38px;min-height:38px;padding:0}
body .evidence-record-tools {display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:baseline;padding:12px 0 16px;font-size:16px}
body .evidence-record-tools .evidence-permalink {margin:0;font-size:16px}
body .evidence-record-tools .record-json {border:0;padding:0;min-width:0}
body .evidence-record-tools .record-json>summary {font-size:16px;cursor:pointer}
body .evidence-record-tools .record-json[open] {grid-column:1/-1}
body .evidence-record-tools .record-json>pre {max-height:190px;overflow:auto;font-size:13px;padding:16px;margin:12px 0;background:var(--edition-wash)}
body .evidence-record-panel .evidence-provenance {margin-top:12px;font-size:15px;padding:10px 0}
body .evidence-record-panel .evidence-provenance p {margin:6px 0;overflow-wrap:anywhere}
body .record-context {font-size:16px;line-height:1.5;margin:12px 0}
body .evidence-record-panel .evidence-map-panel>summary {font-size:16px;padding:10px 0}
body .evidence-map-panel .evidence-visual {padding:18px 0 24px;max-width:940px;margin-inline:auto}
body .evidence-map-panel .evidence-scroll {overflow:hidden}
body .evidence-map-panel .evidence-figure {min-width:0}

/* Align the actual axes, not the white image canvases. Source axes are
   y20..360 in the 920x440 left figure and y114..410 in the 1114x459 right.
   The right canvas needs 1.391 times the width and 1.86% bottom clearance. */
body .experiment-figures {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.391fr);gap:28px;align-items:stretch}
body .experiment-figures article,body .experiment-figures figure {display:flex;margin:0;min-width:0;width:100%}
body .experiment-figures figure>a {display:flex;align-items:flex-end;justify-content:center;width:100%;background:#fff;padding:0;box-sizing:border-box}
body .experiment-figures article:last-child figure>a {padding-bottom:1.86%}
body .experiment-figures img {display:block;width:100%;height:auto;object-fit:contain;margin:0}
@media(min-width:1200px){body .experiment-figures {width:calc(100% + 120px);margin-inline:-60px}}
@media(max-width:700px){body .experiment-figures {grid-template-columns:1fr;gap:20px}body .experiment-figures article:last-child figure>a {padding-bottom:0}}

/* Slow evidence reels stay outside the reading column. The second identical
   group makes the half-height transform seamless, without JavaScript frames. */
body .edition-backdrop.margin-motion {display:block;background:none;inset:82px 0 0;mask-image:linear-gradient(to right,#000 0,#000 calc(50% - 630px),transparent calc(50% - 500px),transparent calc(50% + 500px),#000 calc(50% + 630px),#000 100%)}
body .margin-motion::after {background:linear-gradient(to bottom,var(--bg),transparent 12%,transparent 88%,var(--bg))}
.margin-lane {position:absolute;top:0;bottom:0;width:clamp(270px,25vw,500px);overflow:hidden}
.margin-left {left:-2vw;transform:rotate(-7deg) scale(1.06)}
.margin-right {right:-2vw;transform:rotate(7deg) scale(1.06)}
.margin-reel {animation:margin-drift 72s linear infinite;will-change:transform;animation-play-state:paused}
.margin-right .margin-reel {animation-duration:84s;animation-direction:reverse}
.margin-motion[data-moving=true] .margin-reel {animation-play-state:running}
.margin-group {display:flex;flex-direction:column;gap:60px;padding:30px 12px;min-height:100svh;justify-content:space-around;box-sizing:border-box}
body .margin-motion .margin-material {display:block;position:static;width:100%;height:auto;opacity:.30;filter:blur(1.7px);mix-blend-mode:multiply;pointer-events:none}
body .margin-motion-control {font:16px/1.5 var(--reading-font);color:var(--muted);padding:0;border:0;background:none;cursor:pointer}
body .margin-motion-control:hover {color:var(--accent);text-decoration:underline;text-underline-offset:4px}
body .margin-motion-control[hidden] {display:none}
:root[data-theme=dark] body .margin-motion .margin-material {opacity:.27;filter:invert(1) hue-rotate(180deg) blur(1.7px);mix-blend-mode:screen}
@keyframes margin-drift {from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media(max-width:1100px){body .margin-motion .margin-material {opacity:.24}}
@media(max-width:900px){body .edition-backdrop.margin-motion,body .margin-motion-control {display:none}.margin-reel {animation:none}}
@media(prefers-reduced-motion:reduce){.margin-reel {animation:none!important}}
@media print{body .edition-backdrop.margin-motion,body .margin-motion-control {display:none}}
@media(max-width:700px){
  body .sequence-event {grid-template-columns:1fr 1fr;gap:8px;font-size:17px}
  body .sequence-label {grid-column:2;grid-row:1/3}
  body .sequence-id {display:none}
  body .evidence-tabs,#trajectories .evidence-tabs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;overflow:visible;white-space:normal;justify-content:stretch}
  body .evidence-tabs button,#trajectories .evidence-tabs button {font-size:15px;line-height:1.35;min-width:0;min-height:54px;padding:10px 0;margin-bottom:0}
  body .evidence-focus {grid-template-columns:1fr;gap:14px;padding:0 0 20px}
  body .evidence-scene {height:230px}
  body .evidence-points {grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  body .focus-point {padding:8px 7px;gap:7px;border-left:0;border-top:2px solid var(--border)}
  body .focus-point:hover,body .focus-point.selected {border-top-color:var(--accent)}
  body .focus-label {font-size:15px}
  body .focus-value {font-size:16px}
  body .evidence-heading {display:block}
  body .evidence-model {margin-top:9px}
  body .evidence-record-panel .evidence-navigation {gap:12px}
}
