/* Hallmark · genre: editorial · macrostructure: Narrative Workflow · theme: Manifesto · anchor: warm vermilion · fingerprint: 24-scene editorial deck · enrichment: Tier A CSS data diagrams
 * Inferred context: general AI Summit audience · 30-minute talk · technical editorial tone
 * Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V5
 * Hallmark · contrast: pass (40–41) · nav: N9 · footer: Ft5 · slop: pass (42–45)
 * Hallmark · honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (49) · icons: pass (30)
 * Hallmark · mobile: pass (34, 49, 50–57) · slop test: pass (58/58)
 */

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  overflow-x: clip;
  background: var(--color-paper);
  color: var(--color-ink);
}

html {
  font-size: 16px;
}

body {
  height: 100dvh;
  overflow: hidden;
  word-break: keep-all;
  overflow-wrap: break-word;
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.55;
  overscroll-behavior: none;
}

button,
a {
  font: inherit;
}

button {
  color: inherit;
}

a {
  color: inherit;
  text-decoration-thickness: var(--rule-hair);
  text-underline-offset: 0.2em;
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: var(--space-2xs);
}

a:active {
  color: var(--color-accent);
}

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

h1,
h2,
h3 {
  min-width: 0;
  overflow-wrap: anywhere;
  font-family: var(--font-display);
  font-style: normal;
  font-weight: 700;
}

h1,
h2 {
  letter-spacing: 0;
  line-height: 1.04;
}

/* Bilingual title line */
h2 .en {
  display: block;
  margin-block-start: var(--space-2xs);
  color: var(--color-muted);
  font-size: 0.42em;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.25;
  text-wrap: balance;
}

em {
  color: var(--color-accent);
  font-style: normal;
}

.skip-link {
  position: fixed;
  z-index: var(--z-tooltip);
  inset-block-start: var(--space-sm);
  inset-inline-start: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background: var(--color-ink);
  color: var(--color-paper);
  transform: translateY(-180%);
  transition: transform var(--dur-short) var(--ease-out);
  white-space: nowrap;
}

.skip-link:focus {
  transform: translateY(0);
}

.deck-chrome {
  position: fixed;
  z-index: var(--z-sticky);
  inset-block-start: 0;
  inset-inline: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  min-height: 3.5rem;
  padding: var(--space-sm) var(--space-xl);
  border-block-end: var(--rule-hair) solid var(--color-rule);
  background: var(--color-paper);
}

.wordmark,
.source-link {
  white-space: nowrap;
}

.wordmark {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0;
  text-decoration: none;
}

.deck-chrome__meta {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
}

.deck-chrome__event {
  display: none;
  color: var(--color-muted);
}

.slide-counter b {
  color: var(--color-accent);
}

.stage {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  width: 1920px;
  height: 1080px;
  transform: translate(-50%, -50%) scale(var(--stage-scale, 1));
}

.deck {
  position: relative;
  height: 100%;
  overflow: clip;
}

.slide {
  position: absolute;
  z-index: var(--z-base);
  inset: 0;
  display: none;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  padding: 5.5rem var(--space-md) 6.25rem;
  background: var(--color-paper);
  color: var(--color-ink);
  opacity: 0;
  transform: translateX(1.5rem);
}

.slide.is-active {
  display: grid;
  opacity: 1;
  transform: translateX(0);
  animation: slide-enter var(--dur-long) var(--ease-out) both;
}

.slide.is-leaving-left,
.slide.is-leaving-right {
  display: grid;
  pointer-events: none;
  animation-duration: calc(var(--dur-long) * 0.7);
  animation-timing-function: var(--ease-in);
  animation-fill-mode: both;
}

.slide.is-leaving-left {
  animation-name: slide-leave-left;
}

.slide.is-leaving-right {
  animation-name: slide-leave-right;
}

@keyframes slide-enter {
  from { opacity: 0; transform: translateX(1.5rem); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes slide-leave-left {
  from { opacity: 1; transform: translateX(0); }
  to { opacity: 0; transform: translateX(-1rem); }
}

@keyframes slide-leave-right {
  from { opacity: 1; transform: translateX(0); }
  to { opacity: 0; transform: translateX(1rem); }
}

.stage-index {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0;
}

.slide-thesis {
  font-size: var(--text-lg);
  font-weight: 600;
  line-height: 1.35;
}

.fact-note,
.method-note {
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.deck-controls {
  position: fixed;
  z-index: var(--z-sticky);
  inset-block-end: max(var(--space-md), env(safe-area-inset-bottom));
  inset-inline-end: max(var(--space-md), env(safe-area-inset-right));
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

.control {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: var(--space-xs) var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule-strong);
  border-radius: var(--radius-control);
  background: var(--color-paper-2);
  color: var(--color-ink);
  cursor: pointer;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  transition: background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);
  white-space: nowrap;
}

.control__key {
  color: var(--color-accent);
  font-family: var(--font-mono);
}

.control--arrow {
  font-family: var(--font-mono);
  font-size: var(--text-md);
}

.control:active,
.control.is-active {
  transform: translateY(1px);
}

.control[aria-pressed="true"] {
  border-color: var(--color-accent);
  background: var(--color-accent-soft);
}

.control:disabled,
.control[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
}

.control[data-state="loading"]::after {
  content: "…";
  color: var(--color-neutral);
}

.control[data-state="error"]::after {
  content: "!";
  color: var(--color-error);
}

.control[data-state="success"]::after {
  content: "✓";
  color: var(--color-success);
}

@media (hover: hover) and (pointer: fine) {
  .control:hover {
    background: var(--color-paper-3);
  }

  .source-link:hover,
  .paper-ribbon a:hover,
  .research-ladder a:hover,
  .company-evidence a:hover,
  .physical-stats a:hover,
  .reference-columns a:hover,
  .reference-note a:hover {
    color: var(--color-accent);
  }
}

.progress {
  position: fixed;
  z-index: var(--z-sticky);
  inset-block-end: 0;
  inset-inline: 0;
  height: var(--space-2xs);
  background: var(--color-paper-3);
  transform-origin: left center;
}

.progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--color-accent);
  transform: scaleX(0.0769);
  transform-origin: left center;
  transition: transform var(--dur-short) var(--ease-out);
}

/* 01 · Cover */
.slide--cover {
  align-content: space-between;
  grid-template-rows: auto 1fr auto;
  gap: var(--space-lg);
  overflow-y: clip;
}

.cover-mark {
  position: absolute;
  inset-block-start: 6rem;
  inset-inline-end: -0.08em;
  color: var(--color-accent-soft);
  font-family: var(--font-display);
  font-size: 28rem;
  font-weight: 700;
  line-height: 0.72;
  pointer-events: none;
}

.cover-copy {
  z-index: var(--z-raised);
  align-self: end;
  max-width: 64rem;
}

.cover-date,
.cover-speaker {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: 0;
}

.cover-copy h1 {
  margin-block: var(--space-sm) var(--space-md);
  font-size: 7rem;
  line-height: 0.98;
}

.cover-copy h1 span {
  color: var(--color-accent);
}

.cover-subtitle {
  max-width: none;
  white-space: nowrap;
  color: var(--color-ink-2);
  font-size: var(--text-xl);
  font-weight: 600;
  line-height: 1.3;
}

.cover-speaker {
  z-index: var(--z-raised);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-sm);
  border-block-start: var(--rule-heavy) solid var(--color-ink);
  padding-block-start: var(--space-sm);
}

/* 02 · Scale */
.slide--scale {
  align-content: center;
  gap: var(--space-lg);
}

.stage-copy {
  display: grid;
  gap: var(--space-md);
}

.stage-copy h2,
.bottleneck-copy h2,
.trend-head h2,
.quality-head h2,
.autodata-head h2,
.gym-head h2,
.loop-title h2,
.agent-head h2,
.physical-head h2,
.common-head h2,
.org-title h2,
.references-head h2 {
  width: 100%;
  max-width: none;
  font-size: var(--text-display-s);
  overflow-wrap: normal;
  text-wrap: balance;
  word-break: keep-all;
}

.stage-copy > p:last-child,
.trend-head > p:last-child,
.agent-head > p:last-child,
.loop-title > p:last-child,
.quality-head > p:last-child,
.autodata-head > p:last-child,
.gym-head > p:last-child,
.references-head > p:last-child {
  max-width: none;
  white-space: nowrap;
  color: var(--color-ink-2);
  font-size: var(--text-md);
}

.scale-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xs);
}

.scale-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  min-height: 4.5rem;
  padding: var(--space-md);
  border-block-start: var(--rule-hair) solid var(--color-rule-strong);
}

.scale-item span {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.scale-item strong {
  font-size: var(--text-lg);
}

.scale-item--data {
  border-block-start-color: var(--color-accent);
}

.scale-item--data strong {
  color: var(--color-accent);
}

/* 03 · Bottleneck */
.slide--bottleneck {
  align-content: center;
  gap: var(--space-xl);
}

.bottleneck-word {
  position: absolute;
  top: 4rem;
  right: -0.06em;
  bottom: 0;
  overflow: hidden;
  color: var(--color-paper-3);
  font-family: var(--font-display);
  font-size: 21rem;
  font-weight: 700;
  line-height: 1;
  writing-mode: vertical-rl;
  pointer-events: none;
}

.bottleneck-copy {
  z-index: var(--z-raised);
  display: grid;
  gap: var(--space-lg);
}

.plain-list {
  display: grid;
  max-width: 48rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.plain-list li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-md);
  padding-block: var(--space-sm);
  border-block-start: var(--rule-hair) solid var(--color-rule);
  color: var(--color-ink-2);
  font-size: var(--text-md);
}

.plain-list li span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.plain-list li p {
  margin: 0;
}

.plain-list li p b {
  color: var(--color-ink);
}

.bottleneck-line {
  position: relative;
  z-index: var(--z-raised);
  width: min(100%, 48rem);
  height: var(--rule-heavy);
  background: var(--color-rule);
}

.bottleneck-line span {
  display: block;
  width: 22%;
  height: 100%;
  background: var(--color-accent);
}

/* 04 · Meta */
.slide--meta {
  align-content: center;
  gap: var(--space-lg);
}

.meta-stat strong {
  display: block;
  color: var(--color-accent);
  font-family: var(--font-display);
  font-size: var(--text-stat);
  font-variant-numeric: tabular-nums;
  line-height: 1.05;
}

.meta-stat > span {
  display: block;
  margin-block-start: var(--space-xs);
}

.meta-stat span,
.meta-flow span,
.role span,
.world-layer span {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0;
}

.meta-copy {
  display: grid;
  gap: var(--space-sm);
  max-width: none;
}

.meta-copy h2 {
  font-size: var(--text-display-s);
}

.meta-copy > p {
  max-width: 54ch;
  color: var(--color-ink-2);
  font-size: var(--text-md);
}

.source-link {
  width: fit-content;
  color: var(--color-ink);
  font-weight: 600;
}

.meta-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-xs);
}

.meta-flow div {
  display: grid;
  gap: var(--space-xs);
  padding-block: var(--space-sm);
  border-block: var(--rule-hair) solid var(--color-rule-strong);
}

.meta-flow i,
.autodata-flow i,
.agent-pipeline i,
.physical-world > i,
.common-loop i {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-style: normal;
}

/* 05 · Trend */
.slide--trend {
  align-content: center;
  gap: var(--space-lg);
}

.trend-head {
  display: grid;
  gap: var(--space-sm);
}

.trend-chart {
  display: grid;
  gap: var(--space-xs);
  min-width: 0;
}

.chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

.chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}

.legend-mark {
  display: inline-block;
  width: var(--space-sm);
  height: var(--space-sm);
  background: var(--color-neutral);
}

.legend-mark--generation {
  background: var(--color-accent);
}

.chart-row {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  align-items: center;
  gap: var(--space-xs) var(--space-sm);
  font-variant-numeric: tabular-nums;
}

.chart-row b {
  grid-row: span 2;
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.bar-track {
  min-width: 0;
  height: 1.35rem;
  background: var(--color-paper-3);
}

.bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: var(--bar);
  min-width: 2.25rem;
  height: 100%;
  padding-inline: var(--space-xs);
  background: var(--color-neutral);
  color: var(--color-paper);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 600;
}

.bar--generation {
  background: var(--color-accent);
  color: var(--color-accent-ink);
}

/* 06 · Quality */
.slide--quality {
  align-content: center;
  gap: var(--space-xl);
}

.quality-head {
  display: grid;
  gap: var(--space-xs);
}

/* Full-width paper figure band with a one-line caption */
.paper-figure--band {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xs);
  border-block-start: var(--rule-heavy) solid var(--color-accent);
}

.paper-figure--band .paper-figure__image {
  padding: var(--space-xs);
}

.paper-figure--band .paper-figure__image img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 17rem;
  margin-inline: auto;
}

.paper-figure--band figcaption {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--space-sm);
  align-items: baseline;
  padding-block-start: 0;
}

/* Two paper figures side by side in one band row */
.figure-duo {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
  align-items: start;
}

.figure-duo .paper-figure--band {
  grid-column: auto;
}

.figure-duo .paper-figure--band figcaption {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2xs);
}

/* Bottleneck slide: reasons left, evidence right */
.bottleneck-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-lg);
  align-items: start;
}

.bottleneck-side {
  display: grid;
  align-content: start;
  gap: var(--space-sm);
  min-width: 0;
}

.paper-figure--side {
  display: grid;
  gap: var(--space-xs);
  border-block-start: var(--rule-heavy) solid var(--color-accent);
}

.paper-figure--side .paper-figure__image {
  padding: var(--space-xs);
}

.paper-figure--side .paper-figure__image img {
  width: 100%;
  height: auto;
  max-height: 16rem;
  object-fit: contain;
}

.paper-figure--side figcaption {
  display: grid;
  gap: var(--space-2xs);
  padding-block-start: 0;
}

/* Paper figure sitting as one column inside a card row */
.paper-figure--col {
  display: grid;
  align-content: start;
  gap: var(--space-xs);
  border-block-start: var(--rule-heavy) solid var(--color-accent);
}

.paper-figure--col .paper-figure__image {
  padding: var(--space-xs);
}

.paper-figure--col .paper-figure__image img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 8.5rem;
  margin-inline: auto;
}

.paper-figure--col figcaption {
  display: grid;
  gap: var(--space-2xs);
  padding-block-start: 0;
}

/* Closed-Loop vs Environment comparison */
.env-diff {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: var(--space-md);
  align-items: center;
}

.env-diff > i {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-3xl);
  font-style: normal;
}

.env-diff__col {
  display: grid;
  gap: var(--space-2xs);
  padding: var(--space-sm) var(--space-md);
  border-inline-start: var(--rule-heavy) solid var(--color-rule-strong);
  background: var(--color-paper-2);
}

.env-diff__col--now {
  border-inline-start-color: var(--color-accent);
  background: var(--color-accent-soft);
}

.env-diff__tag {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

.env-diff__col b {
  font-size: var(--text-xl);
}

.env-diff__col > p:last-child {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.env-diff__col em {
  color: var(--color-accent);
  font-style: normal;
}

.env-figures {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-md);
}

/* Paper figure beside a hand-drawn schematic */
.figure-with-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-md);
  align-items: center;
}

.paper-figure--inline .paper-figure__image {
  padding: var(--space-xs);
}

.paper-figure--inline .paper-figure__image img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 13rem;
  margin-inline: auto;
}

.paper-figure--inline figcaption {
  gap: 0.15rem;
}

.autodata-flow--compact .role {
  min-height: 0;
  padding: var(--space-xs) var(--space-sm);
}

.autodata-flow--compact .role b {
  font-size: var(--text-base);
}

.autodata-flow--compact > i:not(.loop-back) {
  font-size: var(--text-xl);
}

/* Quality slide: premise banner + two measurement approaches */
.quality-premise {
  margin: 0;
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.quality-methods {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-md);
}

.quality-method {
  display: grid;
  align-content: start;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-md);
  border-block-start: var(--rule-heavy) solid var(--color-rule-strong);
  background: var(--color-paper-2);
}

.quality-method--dynamic {
  border-block-start-color: var(--color-accent);
}

.quality-method__tag {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.quality-method--dynamic .quality-method__tag {
  color: var(--color-accent);
}

.quality-method ul {
  display: grid;
  gap: var(--space-2xs);
  margin: 0;
  padding: 0;
  list-style: none;
}

.quality-method li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--space-xs);
  align-items: baseline;
  padding-block-end: var(--space-2xs);
  border-block-end: var(--rule-hair) solid var(--color-rule);
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  line-height: 1.4;
}

.quality-method li b {
  color: var(--color-ink);
  white-space: nowrap;
}

.quality-method li i {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-style: normal;
  white-space: nowrap;
}

.quality-method__limit {
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.45;
}

.quality-method__limit em {
  color: var(--color-accent);
  font-style: normal;
}

.difficulty-axis {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2xs);
}

.difficulty-zone {
  display: grid;
  gap: var(--space-2xs);
  padding: var(--space-sm);
  border-inline-start: var(--rule-heavy) solid var(--color-rule-strong);
  background: var(--color-paper-2);
}

.difficulty-zone b,
.difficulty-zone span {
  font-size: var(--text-sm);
}

.difficulty-zone b {
  font-family: var(--font-mono);
}

.difficulty-zone span {
  color: var(--color-muted);
}

.difficulty-zone--pivot {
  border-inline-start-color: var(--color-accent);
  background: var(--color-accent-soft);
}

.difficulty-zone--pivot b {
  color: var(--color-accent);
}

.autodata-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: var(--space-xs);
}

.autodata-flow > i:not(.loop-back) {
  transform: rotate(90deg);
  justify-self: center;
}

.role {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule-strong);
}

.solver-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xs);
}

.role--judge {
  border-color: var(--color-accent);
}

.loop-back {
  justify-self: end;
  font-size: var(--text-xl);
}

.paper-ribbon {
  display: flex;
  gap: var(--space-sm);
  overflow-x: auto;
  padding-block-end: var(--space-xs);
  scrollbar-color: var(--color-rule-strong) var(--color-paper);
}

.paper-ribbon a {
  flex: none;
  padding-block: var(--space-xs);
  border-block-end: var(--rule-hair) solid var(--color-rule-strong);
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  text-decoration: none;
}

/* 07 · Loop */
.slide--loop {
  align-content: center;
  gap: var(--space-lg);
}

.loop-title {
  display: grid;
  gap: var(--space-xs);
}

.cycle {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2xl);
}

.cycle-node {
  display: grid;
  gap: var(--space-2xs);
  min-height: 8rem;
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule-strong);
  background: var(--color-paper-2);
}

.cycle-node span,
.cycle-node small {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

.cycle-node b {
  font-size: var(--text-lg);
}

.cycle-node--one,
.cycle-node--four {
  border-color: var(--color-accent);
}

.cycle-core {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  display: grid;
  place-items: center;
  width: 5rem;
  height: 5rem;
  border: var(--rule-heavy) solid var(--color-accent);
  background: var(--color-paper);
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  transform: translate(-50%, -50%);
}

.research-ladder {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xs) var(--space-md);
}

.research-ladder a {
  display: grid;
  min-width: 0;
  padding-block: var(--space-xs);
  border-block-start: var(--rule-hair) solid var(--color-rule);
  text-decoration: none;
}

.research-ladder b {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  overflow-wrap: anywhere;
}

.research-ladder span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  overflow-wrap: anywhere;
}

/* 08 · Agent */
.slide--agent {
  align-content: center;
  gap: var(--space-lg);
}

.agent-head {
  display: grid;
  min-width: 0;
  gap: var(--space-xs);
}

.agent-pipeline {
  display: grid;
  grid-template-columns: repeat(5, minmax(7.5rem, 1fr));
  grid-auto-rows: 5.5rem;
  align-items: center;
  gap: var(--space-xs);
  min-height: 6rem;
  overflow-x: auto;
  padding-block-end: var(--space-xs);
  scrollbar-color: var(--color-rule-strong) var(--color-paper);
}

.agent-pipeline > div {
  display: grid;
  gap: var(--space-xs);
  min-height: 6rem;
  padding: var(--space-sm) var(--space-md);
  background: var(--color-paper-2);
  border-block-start: var(--rule-heavy) solid var(--color-rule-strong);
}

.agent-pipeline span {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.agent-pipeline b {
  font-size: var(--text-md);
  line-height: 1.25;
}

.agent-pipeline i {
  display: none;
}

.agent-pipeline .pipeline-world {
  border-color: var(--color-accent);
}

.pipeline-world span,
.pipeline-world b {
  color: var(--color-accent);
}

.company-evidence {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2xs);
}

.company-evidence a {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-width: 0;
  padding: var(--space-xs) var(--space-sm);
  border-block-start: var(--rule-hair) solid var(--color-rule);
  text-decoration: none;
}

.company-evidence a > * {
  overflow-wrap: anywhere;
}

.company-evidence span,
.company-evidence small {
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.company-evidence span {
  font-family: var(--font-mono);
}

.company-evidence small {
  grid-column: 1 / -1;
  color: var(--color-ink-2);
  font-size: var(--text-base);
}

.company-evidence b {
  justify-self: end;
  font-family: var(--font-mono);
  font-size: var(--text-md);
}

/* Zone label separating the message band from case listings */
.zone-label {
  align-self: end;
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: 0.08em;
}

.slide--agent .zone-label {
  grid-column: 1 / -1;
  margin-block-end: calc(var(--space-md) * -1);
}

.world-layer span {
  font-size: var(--text-sm);
}

.world-layer b {
  font-size: var(--text-md);
}

/* Chapter tag pinned under the header */
.chapter-tag {
  position: absolute;
  z-index: 2;
  inset-block-start: 4.35rem;
  inset-inline-end: var(--space-xl);
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-xs);
  margin: 0;
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: 0;
}

.chapter-tag b {
  color: var(--color-accent);
}

/* 09 · Physical */
.slide--physical {
  align-content: center;
  gap: var(--space-md);
}

.slide--physical .gym-define {
  padding-block: var(--space-xs);
}

.slide--physical .gym-define p {
  font-size: var(--text-base);
}

.physical-head {
  display: grid;
  gap: var(--space-xs);
}

.physical-world {
  display: grid;
  grid-template-columns: repeat(4, minmax(8.5rem, 1fr));
  grid-auto-rows: 6rem;
  align-items: center;
  gap: var(--space-xs);
  min-height: 6.5rem;
  overflow-x: auto;
  padding-block-end: var(--space-xs);
  scrollbar-color: var(--color-rule-strong) var(--color-paper);
}

.world-layer {
  display: grid;
  gap: var(--space-xs);
  min-height: 6rem;
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule-strong);
  background: var(--color-paper-2);
}

.physical-world > i {
  display: none;
}

.world-layer--synthetic,
.world-layer--policy {
  border-color: var(--color-accent);
}

.physical-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xs);
}

.physical-stats a {
  display: grid;
  min-width: 0;
  gap: var(--space-2xs);
  padding-block: var(--space-xs);
  border-block-start: var(--rule-hair) solid var(--color-rule);
  text-decoration: none;
}

.physical-stats span,
.physical-stats small {
  color: var(--color-muted);
  font-size: var(--text-sm);
  overflow-wrap: anywhere;
}

.physical-stats span {
  font-family: var(--font-mono);
}

.physical-stats b {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 400;
  overflow-wrap: anywhere;
}

/* 10 · Common */
.slide--common {
  align-content: center;
  gap: var(--space-lg);
}

.common-head {
  display: grid;
  gap: var(--space-xs);
}

.common-matrix {
  display: grid;
  border-block-start: var(--rule-heavy) solid var(--color-ink);
}

.matrix-row {
  display: grid;
  grid-template-columns: 1.15fr repeat(4, minmax(0, 1fr));
  border-block-end: var(--rule-hair) solid var(--color-rule-strong);
}

.matrix-row > * {
  min-width: 0;
  padding: var(--space-sm) var(--space-xs);
  font-size: var(--text-md);
  overflow-wrap: anywhere;
}

.matrix-row--head > span {
  font-size: var(--text-sm);
}

.matrix-row b,
.matrix-row--head span {
  font-family: var(--font-mono);
}

.matrix-row b {
  color: var(--color-accent);
}

.matrix-row b small {
  display: block;
  margin-block-start: var(--space-3xs, 0.25rem);
  color: var(--color-muted);
  font-family: var(--font-sans, inherit);
  font-size: var(--text-sm);
  font-weight: 400;
}

.matrix-row--head {
  color: var(--color-muted);
}

.common-loop {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--text-md);
  font-weight: 600;
}

.common-loop span {
  padding-block: var(--space-xs);
  border-block-end: var(--rule-hair) solid var(--color-rule-strong);
}

/* 11 · Org */
.slide--org {
  align-content: center;
  gap: var(--space-lg);
}

.org-title {
  display: grid;
  gap: var(--space-xs);
}

.org-list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.org-list li {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: var(--space-xs) var(--space-md);
  padding-block: var(--space-sm);
  border-block-start: var(--rule-hair) solid var(--color-rule);
}

.org-list span,
.org-list b {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.org-list span {
  grid-row: span 2;
  color: var(--color-accent);
}

.org-list p {
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.org-shift {
  font-size: var(--text-lg);
  line-height: 1.35;
}

.org-shift s {
  color: var(--color-muted);
}

.org-shift strong {
  color: var(--color-accent);
}

/* 12 · References */
.slide--references {
  align-content: center;
  gap: var(--space-lg);
}

.references-head {
  display: grid;
  gap: var(--space-xs);
}

.reference-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg) var(--space-md);
}

.reference-columns > div {
  display: grid;
  min-width: 0;
  gap: var(--space-xs);
  align-content: start;
}

.reference-columns h3 {
  padding-block-end: var(--space-xs);
  border-block-end: var(--rule-heavy) solid var(--color-ink);
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.reference-columns a {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  overflow-wrap: anywhere;
}

.reference-note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding-block-start: var(--space-sm);
  border-block-start: var(--rule-hair) solid var(--color-rule-strong);
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.reference-note a {
  color: var(--color-ink);
  font-weight: 600;
}

/* 13 · Closing */
.slide--closing {
  align-content: space-between;
  gap: var(--space-xl);
}

.closing-copy {
  align-self: center;
  display: grid;
  gap: var(--space-lg);
}

.closing-copy > p {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0;
}

.slide--thanks .closing-copy h2 {
  max-width: none;
  white-space: nowrap;
}

.closing-copy h2 {
  max-width: 16ch;
  overflow-wrap: normal;
  font-size: var(--text-display);
  word-break: keep-all;
}

.closing-copy h2 span {
  color: var(--color-accent);
}

.closing-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-sm);
  padding-block-start: var(--space-sm);
  border-block-start: var(--rule-heavy) solid var(--color-ink);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

/* Speaker notes */
.notes-dialog {
  position: fixed;
  inset: 0;
  width: min(46rem, calc(100% - 2rem));
  height: fit-content;
  max-height: 46rem;
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: var(--rule-hair) solid var(--color-rule-strong);
  border-radius: var(--radius-panel);
  background: var(--color-paper-2);
  color: var(--color-ink);
}

.notes-dialog::backdrop {
  background: var(--color-accent-soft);
}

.notes-dialog[open] {
  animation: notes-enter var(--dur-long) var(--ease-out) both;
}

@keyframes notes-enter {
  from { opacity: 0; transform: scale(0.97); }
  to { opacity: 1; transform: scale(1); }
}

.notes-dialog__head,
.notes-dialog__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: var(--space-md);
}

.notes-dialog__head {
  border-block-end: var(--rule-hair) solid var(--color-rule-strong);
}

.notes-dialog__head > div {
  min-width: 0;
}

.notes-dialog__head span,
.notes-dialog__footer {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

.notes-dialog__head h2 {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  font-weight: 700;
  overflow-wrap: anywhere;
}

.notes-dialog__content {
  display: grid;
  gap: var(--space-md);
  max-height: 37.5rem;
  padding: var(--space-lg);
  overflow-y: auto;
  color: var(--color-ink-2);
  font-size: var(--text-md);
  line-height: 1.7;
}

.notes-dialog__footer {
  border-block-start: var(--rule-hair) solid var(--color-rule-strong);
}

.control--close {
  flex: none;
}

noscript {
  position: fixed;
  z-index: var(--z-modal);
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--space-xl);
  background: var(--color-paper);
  color: var(--color-error);
}

@media not all {
  .slide--scale,
  .slide--bottleneck,
  .slide--meta,
  .slide--trend,
  .slide--quality,
  .slide--loop,
  .slide--agent,
  .slide--physical,
  .slide--common,
  .slide--org,
  .slide--references {
    align-content: start;
  }
}

@media all {
  .deck-chrome__event {
    display: inline;
  }

  .slide {
    padding: 6rem var(--space-3xl) 5rem;
  }

  .deck-controls {
    inset-inline-end: max(var(--space-xl), env(safe-area-inset-right));
  }

  .slide--scale .scale-evidence {
    align-items: start;
  }

  .scale-item--model {
    margin-inline-end: 22%;
  }

  .scale-item--compute {
    margin-inline-start: 10%;
    margin-inline-end: 12%;
  }

  .scale-item--data {
    margin-inline-start: 22%;
  }

  .slide--bottleneck {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.45fr);
  }

  .bottleneck-copy {
    grid-column: 1;
  }

  .bottleneck-line {
    grid-column: 1 / -1;
  }

  .meta-flow,
  .slide--meta .fact-note {
    grid-column: 1 / -1;
  }

  .slide--trend {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    align-items: end;
  }

  .trend-chart {
    align-self: stretch;
    justify-content: stretch;
  }

  .method-note {
    grid-column: 1 / -1;
  }

  .difficulty-axis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .quality-methods {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .figure-with-flow {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: var(--space-lg);
  }

  .figure-with-flow--loop {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .env-figures {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bottleneck-body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
    column-gap: var(--space-2xl);
  }

  .bottleneck-side .paper-refs--compact {
    grid-template-columns: minmax(0, 1fr);
  }

  .figure-with-flow--reverse {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    align-items: start;
  }

  /* Data-quality slide carries the most blocks — tighten it */
  .slide--quality {
    gap: var(--space-sm);
  }

  .slide--quality .quality-method li {
    font-size: var(--text-xs);
  }

  .slide--quality .paper-figure--col .paper-figure__image img {
    max-height: 10.5rem;
  }

  .slide--quality .quality-premise {
    padding-block: var(--space-xs);
  }

  .slide--quality .quality-premise__body {
    font-size: var(--text-sm);
  }

  .slide--quality .quality-methods {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 0.95fr) minmax(0, 1.25fr);
  }

  .autodata-flow {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.25fr) auto minmax(0, 1fr) auto;
  }

  .autodata-flow > i:not(.loop-back) {
    transform: none;
  }

  .slide--loop {
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  }

  .loop-title {
    align-self: center;
  }

  .cycle {
    align-self: center;
  }

  .research-ladder {
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .company-evidence {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2xs) var(--space-xl);
  }

  .physical-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }


  .slide--org {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    align-items: center;
  }

  .org-shift {
    grid-column: 1 / -1;
  }

  .reference-columns {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .closing-meta {
    font-size: var(--text-sm);
  }
}

@media all {
  .slide {
    padding-block-start: 6rem;
  }

  .deck-chrome {
    min-height: 4rem;
  }

  .slide--cover {
    padding-block-end: var(--space-xl);
  }

  .cover-copy h1 {
    font-size: 7.5rem;
  }

  .meta-flow div,
  .role,
  .world-layer {
    padding: var(--space-md);
  }

  .chart-row {
    grid-template-columns: 4rem minmax(0, 1fr);
  }

  .bar-track {
    height: 1.75rem;
  }

  .agent-pipeline,
  .physical-world {
    overflow: visible;
  }

  .agent-pipeline {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  }

  .agent-pipeline i,
  .physical-world > i {
    display: block;
  }

  .physical-world {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  }

  .matrix-row > * {
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-sm);
  }

  .org-list li {
    grid-template-columns: 3rem 0.8fr 1.2fr;
    align-items: baseline;
  }

  .org-list span {
    grid-row: auto;
  }

  .notes-dialog__content {
    padding: var(--space-xl);
  }
}

@media all {
  .slide {
    padding-inline: var(--space-2xl);
  }

  .slide--agent,
  .slide--physical {
    gap: var(--space-xl);
  }
}

@media (pointer: coarse) {
  .control {
    min-width: 3rem;
    min-height: 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 150ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 150ms !important;
  }

  .slide.is-active,
  .slide.is-leaving-left,
  .slide.is-leaving-right,
  .notes-dialog[open] {
    transform: none;
  }
}

@media print {
  @page {
    size: 1920px 1080px;
    margin: 0;
  }

  body,
  .deck {
    height: auto;
    overflow: visible;
  }

  .stage {
    position: static;
    width: auto;
    height: auto;
    transform: none;
  }

  .deck-chrome,
  .deck-controls,
  .progress,
  .notes-dialog,
  .skip-link {
    display: none !important;
  }

  .slide,
  .slide.is-active {
    position: relative;
    display: grid;
    width: 1920px;
    height: 1080px;
    overflow: hidden;
    page-break-after: always;
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* 02 · Today's message */
.slide--toc {
  align-content: center;
  gap: var(--space-xl);
}

.toc-head {
  display: grid;
  gap: var(--space-xs);
}

.toc-head h2 {
  font-size: var(--text-display-s);
}

.toc-list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}

.toc-list li {
  display: flex;
  align-items: baseline;
  gap: var(--space-md);
  padding-block: var(--space-md);
  border-block-start: var(--rule-hair) solid var(--color-rule-strong);
}

.toc-list span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.toc-list b {
  font-size: var(--text-xl);
  font-weight: 700;
}

.toc-manifesto {
  display: grid;
  gap: var(--space-xs);
  padding-block-start: var(--space-md);
  border-block-start: var(--rule-heavy) solid var(--color-ink);
}

.toc-manifesto p {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 700;
}

.toc-manifesto strong {
  color: var(--color-accent);
  font-family: var(--font-display);
  font-size: var(--text-3xl);
  line-height: 1.15;
}

.toc-manifesto i {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-style: normal;
  font-weight: 400;
}

.toc-manifesto span {
  color: var(--color-ink-2);
  font-size: var(--text-base);
}

/* Paper reference footnotes */
.paper-refs {
  display: grid;
  gap: var(--space-2xs);
  margin: 0;
  padding: 0;
  list-style: none;
}

.paper-refs li {
  min-width: 0;
}

.paper-refs a {
  display: block;
  color: var(--color-muted);
  font-size: var(--text-xs);
  overflow-wrap: anywhere;
  text-decoration: none;
}

/* NVIDIA NeMo Gym media card */
.agent-media {
  display: grid;
  gap: var(--space-md);
  margin: 0;
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule-strong);
  background: var(--color-paper-2);
}

.agent-media img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 11rem;
  object-fit: cover;
}

.agent-media--paper {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xs);
}

.agent-media--paper img {
  height: auto;
  max-height: 9rem;
  padding: var(--space-2xs);
  background: #fff;
  object-fit: contain;
}

.agent-media figcaption {
  display: grid;
  gap: var(--space-xs);
  align-content: center;
  min-width: 0;
}

.agent-media figcaption span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: 0;
}

.agent-media figcaption p {
  color: var(--color-ink-2);
  font-size: var(--text-base);
  line-height: 1.5;
}

.agent-media figcaption a {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  text-decoration: none;
}

/* Reference columns with full titles */
.reference-columns a {
  display: grid;
}

.reference-columns a b {
  font-size: var(--text-md);
}

.reference-columns a small {
  color: var(--color-muted);
  font-size: var(--text-sm);
  overflow-wrap: anywhere;
}

@media (hover: hover) and (pointer: fine) {
  .paper-refs a:hover,
  .agent-media figcaption a:hover {
    color: var(--color-accent);
  }
}

@media all {
  .toc-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 var(--space-2xl);
  }

  .paper-refs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2xs) var(--space-lg);
  }

  .slide--quality .paper-refs,
  .slide--loop .paper-refs,
  .slide--physical .paper-refs {
    grid-column: 1 / -1;
  }

  .slide--gym .agent-media {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    align-items: center;
  }
}

/* Why environments matter */
.why-env {
  display: grid;
  gap: var(--space-xs);
}

.why-env > div {
  display: grid;
  gap: var(--space-2xs);
  padding-block: var(--space-sm);
  border-block-start: var(--rule-hair) solid var(--color-rule-strong);
}

.why-env span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: 0;
}

.why-env b {
  font-size: var(--text-lg);
}

.why-env p {
  color: var(--color-ink-2);
  font-size: var(--text-base);
  line-height: 1.5;
}

@media all {
  .why-env {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-lg);
  }

  .why-env--pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2xl);
  }
}

/* Split slides: agent-why, autodata, gym, physical research/cases */
.slide--agent-why,
.slide--autodata,
.slide--gym,
.slide--physical-research,
.slide--physical-cases {
  align-content: center;
  gap: var(--space-xl);
}

/* Recurring law strip — the same loop, restated per stage */
.law-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs) var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  border-inline-start: var(--rule-heavy) solid var(--color-accent);
  background: var(--color-paper-2);
}

.law-strip > b {
  margin-inline-end: var(--space-sm);
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: 0;
}

.law-strip > span {
  display: grid;
  font-weight: 700;
  font-size: var(--text-base);
}

.law-strip > span > small {
  color: var(--color-muted);
  font-weight: 400;
  font-size: var(--text-sm);
}

.law-strip > i {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-style: normal;
}

/* 03 · Original paper figures */
.scale-paper-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-md);
}

.paper-figure {
  display: grid;
  min-width: 0;
  margin: 0;
  border-block-start: var(--rule-heavy) solid var(--color-ink);
}

.paper-figure__image {
  display: grid;
  place-items: center;
  min-height: 0;
  padding: var(--space-sm);
  overflow: hidden;
  background: #fff;
}

.paper-figure__image img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 13rem;
  object-fit: contain;
}

.paper-figure figcaption {
  display: grid;
  gap: var(--space-2xs);
  padding-block-start: var(--space-xs);
}

.paper-figure figcaption span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

.paper-figure figcaption b {
  font-size: var(--text-base);
}

.paper-figure figcaption small {
  color: var(--color-muted);
  font-size: var(--text-sm);
}

@media all {
  .scale-paper-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .paper-figure__image {
    height: 17rem;
  }

  .paper-figure__image img {
    max-height: 100%;
  }
}

/* 08 · Evidence + Meta case: denser stack */
.slide--autodata {
  gap: var(--space-lg);
}

.slide--autodata .gym-define {
  max-width: none;
}

.autodata-head,
.gym-head {
  display: grid;
  gap: var(--space-xs);
}

.slide--gym .agent-media {
  padding: var(--space-md);
}

.slide--gym .agent-media img {
  max-height: 24rem;
}

/* RL Gym definition */
.gym-define {
  display: grid;
  gap: var(--space-2xs);
  max-width: 60rem;
  padding: var(--space-sm) var(--space-md);
  border-inline-start: var(--rule-heavy) solid var(--color-accent);
  background: var(--color-paper-2);
}

.gym-define span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  letter-spacing: 0;
}

.gym-define p {
  color: var(--color-ink-2);
  font-size: var(--text-base);
  line-height: 1.55;
}

.gym-define b {
  color: var(--color-ink);
}

/* One-line citation inside a define box */
.era-line a {
  color: var(--color-muted);
  font-size: var(--text-sm);
  text-decoration: none;
}

.era-line b {
  color: var(--color-ink-2);
}

.slide--physical-quality .gym-define {
  grid-column: 1 / -1;
  max-width: none;
}

@media (hover: hover) {
  .era-line a:hover b {
    color: var(--color-accent);
  }
}

/* Paper figure card on agent slide */
.agent-media--paper img {
  max-height: 17rem;
  object-fit: contain;
  background: #fff;
}

@media all {
  .agent-media--paper {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
    align-items: center;
  }
}

/* Agent flow slide: head left, paper figure top-right */
@media all {
  .slide--agent {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-content: space-between;
    align-items: center;
    column-gap: var(--space-xl);
  }

  .slide--agent .chapter-tag,
  .slide--agent .agent-pipeline,
  .slide--agent .company-evidence,
  .slide--agent .paper-refs {
    grid-column: 1 / -1;
  }


  .agent-media--paper {
    grid-column: 2;
    grid-row: 1;
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    align-self: stretch;
  }

  .agent-media--paper img {
    max-height: 12.5rem;
  }

  .agent-media--paper figcaption p {
    font-size: var(--text-sm);
  }
}

/* More gyms slide */
.slide--gyms {
  align-content: center;
  gap: var(--space-xl);
}

/* Korean headline word wrapping */
.org-title h2 {
  overflow-wrap: normal;
  word-break: keep-all;
}

.org-title > p:last-child {
  color: var(--color-ink-2);
  font-size: var(--text-lg);
}

/* Data-company investment list */
.meta-press {
  max-width: 46ch;
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.6;
}

.invest-list {
  display: grid;
  gap: var(--space-xs);
}

.invest-list a {
  display: grid;
  gap: var(--space-2xs);
  min-width: 0;
  padding: var(--space-sm) var(--space-md);
  border-block-start: var(--rule-hair) solid var(--color-rule-strong);
  text-decoration: none;
}

.invest-list span {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0;
}

.invest-list b {
  color: var(--color-accent);
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}

.invest-list small {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
}

@media (hover: hover) and (pointer: fine) {
  .invest-list a:hover b {
    color: var(--color-ink);
  }
}

@media all {
  .slide--meta .invest-list {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
  }
}

/* Slide 5: de-emphasize stat, emphasize companies */
.slide--meta .meta-stat strong {
  font-size: var(--text-3xl);
  line-height: 1.1;
}

.invest-list a {
  background: var(--color-paper-2);
  border-block-start: var(--rule-heavy) solid var(--color-accent);
}

.invest-list b {
  font-size: var(--text-3xl);
}

/* Closing sub message */
.closing-sub {
  max-width: 60ch;
  margin-block-start: var(--space-lg);
  overflow-wrap: normal;
  font-size: var(--text-md);
  font-weight: 600;
  line-height: 1.55;
  word-break: keep-all;
}

/* Keep dense slides inside common presentation viewports up to 900px tall. */
@media not all {
  .slide {
    padding-block-start: var(--space-2xl);
    padding-block-end: var(--space-2xl);
  }

  .slide--quality,
  .slide--gym,
  .slide--agent,
  .slide--physical,
  .slide--references {
    align-content: start;
    gap: var(--space-md);
  }

  .slide--autodata .why-env,
  .slide--physical-research .physical-stats {
    gap: var(--space-xs) var(--space-md);
  }

  .slide:not(.slide--references) .paper-refs {
    display: none;
  }

  .slide--gym .agent-media {
    gap: var(--space-sm);
    padding: var(--space-sm);
  }

  .slide--gym .agent-media img {
    max-height: 12rem;
  }

  .slide--gym .gym-define p,
  .slide--physical .gym-define p {
    font-size: var(--text-sm);
    line-height: 1.4;
  }

  .slide--references .references-head > p:last-child,
  .slide--references .reference-columns a small {
    display: none;
  }

  .slide--references .reference-columns,
  .slide--references .reference-columns > div {
    gap: var(--space-sm);
  }
}

@media all {
  .stage-copy h2,
  .bottleneck-copy h2,
  .meta-copy h2,
  .trend-head h2,
  .quality-head h2,
  .autodata-head h2,
  .gym-head h2,
  .loop-title h2,
  .agent-head h2,
  .physical-head h2,
  .common-head h2,
  .org-title h2,
  .references-head h2,
  .toc-head h2 {
    font-size: 2.6rem;
    white-space: nowrap;
  }

  .slide--bottleneck {
    grid-template-columns: minmax(0, 1fr);
  }

  .slide--trend {
    grid-template-columns: minmax(0, 1fr);
  }

  .slide--loop {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-md);
  }

  .slide--loop .loop-title > p:last-child {
    max-width: none;
  }

  .slide--loop .cycle {
    width: 100%;
    justify-self: center;
    gap: var(--space-2xl);
  }

  .slide--loop .cycle-node {
    min-height: 6rem;
  }

  .slide--org {
    grid-template-columns: minmax(0, 1fr);
  }

  .slide--org .org-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-md);
  }

  .slide--org .org-list li {
    grid-template-columns: 2rem minmax(0, 1fr);
    align-content: start;
  }

  .slide--org .org-list span {
    grid-row: span 2;
  }

  .slide--org .org-list p {
    grid-column: 2;
  }

  .toc-manifesto {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    gap: var(--space-2xs) var(--space-xl);
  }

  .toc-manifesto strong {
    grid-column: 1 / -1;
    font-size: var(--text-4xl);
    white-space: nowrap;
  }

  .toc-manifesto span {
    grid-column: 2;
    grid-row: 1;
  }
}

@media not all {
  .slide--agent {
    padding-block-start: 6.75rem;
  }
}

/* 06 · Full accepted-paper census */
.slide--trend {
  gap: var(--space-sm);
}

.slide--trend .trend-head {
  gap: var(--space-2xs);
}

.slide--trend .trend-head > p:last-child {
  max-width: none;
}

.slide--trend .trend-chart {
  gap: 0.55rem;
}

.slide--trend .chart-legend {
  margin-block-end: var(--space-xs);
}

.slide--trend .chart-row {
  gap: 5px var(--space-sm);
}

.slide--trend .chart-row b {
  font-size: var(--text-sm);
}

.slide--trend .bar-track {
  height: 1.2rem;
}

.slide--trend .bar {
  min-width: 2.4rem;
  padding-inline: var(--space-xs);
  font-size: var(--text-xs);
}

.slide--trend .method-note {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--space-2xs) var(--space-lg);
  padding-block-start: var(--space-xs);
  border-block-start: var(--rule-hair) solid var(--color-rule-strong);
  font-size: var(--text-xs);
  line-height: 1.4;
}

.slide--trend .method-note p:last-child {
  grid-column: 1 / -1;
}

.slide--trend .method-note a {
  color: var(--color-ink);
  font-weight: 600;
}

@media not all {
  .slide--agent-why,
  .slide--autodata,
  .slide--gym,
  .slide--physical-research,
  .slide--physical-cases {
    align-content: start;
  }

  .slide--trend .method-note {
    grid-template-columns: minmax(0, 1fr);
  }

  .slide--trend .method-note p:last-child {
    grid-column: auto;
  }
}

/* 00 · Model evolution tracks */
.slide--model-axis {
  align-content: center;
  gap: var(--space-xl);
}

.axis-steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  gap: var(--space-md);
  align-items: stretch;
}

.axis-steps > i {
  align-self: center;
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-3xl);
  font-style: normal;
}

.axis-step {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: var(--space-xs);
  min-height: 15rem;
  padding: var(--space-lg);
  border-block-start: var(--rule-heavy) solid var(--color-ink);
  background: var(--color-paper-2);
}

.axis-step span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
}

.axis-step b {
  font-size: var(--text-2xl);
  line-height: 1.2;
}

.axis-step small {
  color: var(--color-ink-2);
  font-size: var(--text-base);
  line-height: 1.5;
}

.axis-step em {
  align-self: end;
  padding-block-start: var(--space-xs);
  border-block-start: var(--rule-hair) solid var(--color-rule);
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  font-style: normal;
}

/* Axis cards carrying an original paper figure */
.axis-steps--figures .axis-step {
  grid-template-rows: auto auto auto 1fr auto;
  padding: var(--space-md);
}

.axis-step__figure {
  display: grid;
  gap: var(--space-2xs);
  min-height: 0;
  margin-block: var(--space-2xs);
}

.axis-step__figure img {
  display: block;
  width: 100%;
  height: 14rem;
  padding: var(--space-2xs);
  border: var(--rule-hair) solid var(--color-rule);
  background: #fff;
  object-fit: contain;
}

.axis-step__figure i {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  font-style: normal;
}

/* Compact one-line reference strip — full entries live in the appendix */
.paper-refs--compact a {
  overflow: hidden;
  font-size: var(--text-xs);
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow-wrap: normal;
}

.closing-qr {
  display: grid;
  gap: var(--space-xs);
  justify-items: start;
  margin-block-start: var(--space-lg);
}

.closing-qr img {
  width: 10rem;
  height: 10rem;
}

.closing-qr span {
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
}

/* Uniform header position: all content slides top-aligned with equal rhythm */
.slide--scale,
.slide--bottleneck,
.slide--meta,
.slide--trend,
.slide--quality,
.slide--autodata,
.slide--loop,
.slide--agent-why,
.slide--agent,
.slide--gym,
.slide--physical,
.slide--physical-research,
.slide--physical-cases,
.slide--common,
.slide--model-axis,
.slide--toc,
.slide--references {
  align-content: start;
  gap: var(--space-xl);
}

.slide--org {
  align-content: center;
  gap: var(--space-3xl);
}

/* RL Gym interaction loop drawn in HTML so it always uses deck fonts */
.gym-loop-figure {
  display: grid;
  gap: var(--space-xs);
  align-self: stretch;
  align-content: center;
}

.gym-loop {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-lg) var(--space-md);
  border: var(--rule-hair) solid var(--color-rule);
  background: var(--color-paper-2);
}

.gym-loop__node {
  display: grid;
  gap: var(--space-3xs, 0.25rem);
  padding: var(--space-md);
  text-align: center;
  border: var(--rule-hair) solid var(--color-rule-strong);
}

.gym-loop__node b {
  font-family: var(--font-mono);
  font-size: var(--text-lg);
}

.gym-loop__node span {
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.gym-loop__node--env {
  border-color: var(--color-accent);
}

.gym-loop__node--env b {
  color: var(--color-accent);
}

.gym-loop__flow {
  display: grid;
  gap: var(--space-2xs);
  text-align: center;
}

.gym-loop__fwd,
.gym-loop__back {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  border-block-end: var(--rule-hair) solid var(--color-rule-strong);
  padding-block-end: var(--space-2xs);
}

.gym-loop__fwd {
  color: var(--color-accent);
  border-color: var(--color-accent);
}

.gym-loop__back {
  border-block-end: none;
  border-block-start: var(--rule-hair) solid var(--color-rule-strong);
  padding-block-start: var(--space-2xs);
  padding-block-end: 0;
}

.gym-loop__flow em {
  color: var(--color-muted);
  font-size: var(--text-sm);
  font-style: normal;
}

.gym-loop__api {
  grid-column: 1 / -1;
  margin-block-start: var(--space-xs);
  padding-block-start: var(--space-xs);
  border-block-start: var(--rule-hair) solid var(--color-rule);
  color: var(--color-muted);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  text-align: center;
}

.gym-loop-figure figcaption {
  display: grid;
  gap: var(--space-2xs);
}

.gym-loop-figure figcaption span {
  color: var(--color-accent);
  font-family: var(--font-mono);
  font-size: var(--text-sm);
}

.gym-loop-figure figcaption small {
  color: var(--color-ink-2);
  font-size: var(--text-base);
}

/* Band figure with an in-panel explanation filling the letterbox space */
.paper-figure__image--annotated {
  grid-template-columns: minmax(0, 0.45fr) minmax(0, 1fr);
  gap: var(--space-md);
  padding-inline: var(--space-md);
  text-align: left;
}

.paper-figure__image--annotated .figure-note {
  color: #3a3a3a;
}

.figure-note {
  color: #3a3a3a;
  font-size: var(--text-md);
  line-height: 1.5;
  word-break: keep-all;
}

.figure-note b {
  display: block;
  margin-block-end: var(--space-2xs);
  color: #c8402e;
  font-size: var(--text-lg);
}

/* Per-slide figure enlargements: fill measured empty space */
.slide--autodata .paper-figure--inline .paper-figure__image {
  min-height: 19rem;
}

.slide--autodata .paper-figure--inline .paper-figure__image img {
  max-height: 11.5rem;
}

.slide--autodata {
  gap: var(--space-md);
}

.slide--loop .paper-figure--inline .paper-figure__image {
  min-height: 21rem;
}

.slide--loop .paper-figure--inline .paper-figure__image img {
  max-height: 19rem;
}

.slide--agent .agent-media--paper img {
  height: auto;
  max-height: 14rem;
}

.slide--bottleneck .paper-figure--side .paper-figure__image {
  min-height: 28rem;
}

.slide--bottleneck .paper-figure--side .paper-figure__image img {
  height: auto;
  max-height: 26rem;
}

/* Bottleneck list breathes to fill the column */
.slide--bottleneck .plain-list li {
  padding-block: var(--space-md);
}

.slide--bottleneck .slide-thesis {
  margin-block-start: var(--space-2xl);
}

/* Paper names and arXiv ids share one distinct color deck-wide */
.pname {
  color: oklch(78% 0.11 82);
  font-style: normal;
}

/* Presenter-only build tag on the cover: near-invisible from the audience */
.build-tag {
  position: absolute;
  inset-block-end: 0.6rem;
  inset-inline-start: var(--space-md);
  color: var(--color-rule);
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  opacity: 0.6;
  user-select: none;
}

/* Sparse slides: header stays top-aligned, last element pins toward the bottom */
.slide--toc {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.slide--toc .toc-list {
  align-self: start;
}

.slide--meta {
  grid-template-rows: auto auto auto minmax(0, 1fr);
}

.slide--meta .fact-note {
  align-self: end;
}

.slide--common {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.slide--common .common-matrix {
  align-self: start;
}

.slide--quality {
  gap: var(--space-lg);
}

.slide--org .org-list b {
  font-size: var(--text-xl);
}

.slide--org .org-list p {
  font-size: var(--text-md);
}

.org-shift {
  font-size: var(--text-xl);
}

.org-shift strong {
  font-size: var(--text-3xl);
}

/* Uniform header block: identical index->title->subtitle rhythm everywhere */
.stage-copy,
.bottleneck-copy,
.meta-copy,
.trend-head,
.quality-head,
.autodata-head,
.gym-head,
.loop-title,
.agent-head,
.physical-head,
.common-head,
.org-title,
.references-head,
.toc-head {
  display: grid;
  gap: var(--space-sm);
}

.slide--agent-good {
  align-content: center;
  gap: var(--space-lg);
}


/* Slide 4: uncropped paper figures — % heights collapse in the auto grid track,
   so pin the image to the box with an absolute max-height instead */
.slide--scale .scale-paper-grid .paper-figure__image img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 15.5rem;
  object-fit: contain;
}

@media print {
  /* PDF: wrap compact refs instead of ellipsizing away arXiv ids */
  .paper-refs--compact a,
  .paper-refs a {
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
    overflow-wrap: anywhere;
  }
}

/* Figure-duo band images: cap inside the 17rem box so tall figures don't clip */
.figure-duo .paper-figure--band .paper-figure__image img {
  max-height: 16rem;
}
