:root {
  --cream: #fffaf1;
  --paper: #f1e8dc;
  --ink: #4e3629;
  --ink-soft: rgba(78, 54, 41, .78);
  --seal: #2f1d16;
  --deep: #261711;
  --red: #b82118;
  --gold: #c8a85a;
  --water: #d8e3df;
  --rule: rgba(78, 54, 41, .22);
  --serif: "Fraunces", Georgia, serif;
  --sans: "Instrument Sans", system-ui, sans-serif;
  --mono: "JetBrains Mono", monospace;
  --ease-out: cubic-bezier(.23, 1, .32, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--sans);
}
button, input { font: inherit; }
a { color: inherit; }
.noscript-note { margin: 0; padding: 16px clamp(20px, 4vw, 58px); color: var(--cream); background: var(--red); font-size: 13px; line-height: 1.5; }

.project-nav {
  position: relative;
  z-index: 5;
  min-height: 68px;
  padding: 0 clamp(20px, 4vw, 64px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-bottom: 1px solid var(--rule);
  font: 11px/1 var(--mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}
.project-nav a { text-decoration: none; }
.project-nav a:last-child { justify-self: end; }
.project-nav > span { color: var(--ink-soft); }

.hero {
  min-height: 690px;
  padding: clamp(90px, 11vw, 160px) clamp(20px, 7vw, 110px) clamp(110px, 12vw, 180px);
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, .5fr);
  grid-template-areas: "eyebrow eyebrow" "title copy" "title link";
  gap: 24px clamp(50px, 8vw, 130px);
  align-items: end;
}
.eyebrow, .section-label {
  color: var(--red);
  font: 11px/1.35 var(--mono);
  letter-spacing: .11em;
  text-transform: uppercase;
}
.hero .eyebrow { grid-area: eyebrow; }
.hero h1 {
  grid-area: title;
  max-width: 1060px;
  margin: 0;
  font: 430 clamp(70px, 10vw, 150px)/.82 var(--serif);
  letter-spacing: -.065em;
}
.hero h1 em { color: var(--red); font-weight: inherit; }
.hero p {
  grid-area: copy;
  max-width: 500px;
  margin: 0;
  font: 450 clamp(20px, 2vw, 28px)/1.22 var(--serif);
}
.play-link {
  grid-area: link;
  justify-self: start;
  padding-bottom: 7px;
  border-bottom: 1px solid currentColor;
  text-decoration: none;
  font: 11px/1 var(--mono);
  text-transform: uppercase;
}

.duel-shell {
  margin: 0 clamp(12px, 3vw, 46px) clamp(110px, 12vw, 180px);
  border: 1px solid var(--seal);
  background: var(--cream);
}
.duel-header {
  min-height: 220px;
  padding: clamp(30px, 4vw, 58px);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 36px;
  align-items: end;
  background: var(--deep);
  color: var(--cream);
}
.duel-header h2 {
  max-width: 1060px;
  margin: 16px 0 12px;
  font: 450 clamp(46px, 6.5vw, 96px)/.9 var(--serif);
  letter-spacing: -.05em;
}
.duel-header p {
  max-width: 780px;
  margin: 0;
  color: rgba(255, 250, 241, .65);
  font-size: 14px;
  line-height: 1.6;
}
.duel-header .section-label { color: var(--gold); }
.reset-button {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(255, 250, 241, .42);
  border-radius: 999px;
  color: var(--cream);
  background: transparent;
  cursor: pointer;
  font: 11px/1 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: color 160ms ease, background-color 160ms ease, transform 120ms var(--ease-out);
}
.replay-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--seal);
  background: var(--paper);
}
.replay-strip span {
  min-height: 54px;
  padding: 0 18px;
  display: flex;
  gap: 8px;
  align-items: center;
  border-right: 1px solid var(--seal);
  font: 11px/1.3 var(--mono);
  text-transform: uppercase;
}
.replay-strip span:last-child { border-right: 0; }
.replay-strip b { color: var(--red); font-weight: 500; }

.duel-workbench {
  display: grid;
  grid-template-columns: minmax(300px, .48fr) minmax(660px, 1.52fr);
}
.evidence-console {
  min-width: 0;
  padding: clamp(24px, 3vw, 42px);
  border-right: 1px solid var(--seal);
  background: var(--paper);
}
.console-heading > span, .captain-card header span, .shared-event span {
  color: var(--red);
  font: 11px/1 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.console-heading h3 {
  margin: 10px 0 0;
  font: 450 clamp(27px, 2.6vw, 40px)/1 var(--serif);
}

.shared-board-wrap, .posterior-board-wrap {
  position: relative;
  width: 100%;
  max-width: 510px;
  margin: 30px auto 0;
  padding: 18px 0 0 18px;
}
.board-axis {
  position: absolute;
  display: grid;
  color: var(--ink-soft);
  font: 11px/1 var(--mono);
}
.board-axis-top {
  inset: 0 0 auto 18px;
  height: 18px;
  grid-template-columns: repeat(8, 1fr);
  align-items: center;
  text-align: center;
}
.board-axis-side {
  inset: 18px auto 0 0;
  width: 18px;
  grid-template-rows: repeat(8, 1fr);
  align-items: center;
  text-align: center;
}
.shared-board, .posterior-board {
  aspect-ratio: 1;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  border-top: 1px solid var(--seal);
  border-left: 1px solid var(--seal);
}
.shared-board button, .posterior-cell {
  position: relative;
  min-width: 0;
  border: 0;
  border-right: 1px solid var(--seal);
  border-bottom: 1px solid var(--seal);
}
.shared-board button {
  padding: 0;
  color: transparent;
  background: var(--cream);
  cursor: pointer;
  transition: background-color 140ms ease, box-shadow 140ms ease, transform 120ms var(--ease-out);
}
.shared-board button.selected {
  z-index: 1;
  box-shadow: inset 0 0 0 3px var(--gold);
}
.shared-board button.revealed::after, .posterior-cell.revealed::after {
  content: "";
  position: absolute;
  inset: 34%;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.shared-board button.hit { color: var(--cream); background: var(--red); }
.shared-board button.hit::after, .posterior-cell.hit::after { background: currentColor; }
.shared-board button.miss { color: var(--ink); background: var(--water); }

.cell-selection {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px 16px;
  align-items: end;
}
.cell-selection span { font: 11px/1 var(--mono); text-transform: uppercase; }
.cell-selection strong { color: var(--red); font: 450 25px/1 var(--serif); }
.cell-selection small { grid-column: 1 / -1; color: rgba(78, 54, 41, .78); font: 11px/1.45 var(--mono); }
.question-picker { margin: 28px 0 0; padding: 0; border: 0; }
.question-picker legend {
  margin-bottom: 10px;
  color: var(--ink-soft);
  font: 11px/1 var(--mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.question-picker button {
  width: 100%;
  min-height: 64px;
  padding: 12px 14px;
  display: block;
  border: 1px solid var(--seal);
  border-bottom: 0;
  color: var(--ink);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: color 160ms ease, background-color 160ms ease, transform 120ms var(--ease-out);
}
.question-picker button:last-child { border-bottom: 1px solid var(--seal); }
.question-picker button.active { color: var(--cream); background: var(--seal); }
.question-picker button:disabled { cursor: default; opacity: .42; }
.question-picker span, .question-picker strong { display: block; }
.question-picker span { font: 11px/1 var(--mono); text-transform: uppercase; opacity: .82; }
.question-picker strong { margin-top: 7px; font: 450 14px/1.25 var(--serif); }

.voi-receipt {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--seal);
  border-top: 0;
  background: var(--cream);
}
.voi-receipt div { min-width: 0; padding: 11px; border-right: 1px solid var(--seal); }
.voi-receipt div:last-child { border-right: 0; }
.voi-receipt span { display: block; min-height: 28px; color: rgba(78, 54, 41, .78); font: 11px/1.3 var(--mono); text-transform: uppercase; }
.voi-receipt strong { display: block; margin-top: 7px; font: 450 17px/1 var(--serif); }
.voi-receipt strong.positive { color: var(--red); }
.decision-gate {
  padding: 15px 16px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 7px 18px;
  align-items: baseline;
  border: 1px solid var(--seal);
  border-top: 0;
  background: var(--gold);
}
.decision-gate > span { color: var(--seal); font: 11px/1 var(--mono); text-transform: uppercase; }
.decision-gate > strong { justify-self: end; font: 450 19px/1 var(--serif); }
.decision-gate > small { grid-column: 1 / -1; color: rgba(47, 29, 22, .78); font: 11px/1.45 var(--mono); }
.console-actions { margin-top: 16px; display: grid; gap: 8px; }
.console-actions button {
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid var(--seal);
  color: var(--ink);
  background: transparent;
  cursor: pointer;
  font: 11px/1.25 var(--mono);
  letter-spacing: .03em;
  text-transform: uppercase;
  transition: color 160ms ease, background-color 160ms ease, transform 120ms var(--ease-out);
}
.console-actions .primary-action { color: var(--cream); background: var(--red); border-color: var(--red); }
.console-actions button:disabled { cursor: default; opacity: .35; }
.console-actions button.bounded { color: var(--red); border-color: var(--red); opacity: 1; }
.shared-log { max-height: 155px; margin: 24px 0 0; padding: 0; overflow: auto; list-style: none; }
.shared-log li { padding: 9px 0; border-top: 1px solid var(--rule); color: var(--ink-soft); font-size: 11px; line-height: 1.45; }
.shared-log li span { display: inline-block; min-width: 72px; color: var(--red); font: 11px/1 var(--mono); text-transform: uppercase; }

.captain-comparison {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-content: start;
}
.shared-event {
  grid-column: 1 / -1;
  min-height: 72px;
  padding: 16px clamp(22px, 3vw, 40px);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px;
  align-items: center;
  border-bottom: 1px solid var(--seal);
  background: var(--gold);
}
.shared-event span { color: var(--seal); }
.shared-event strong { font: 450 clamp(17px, 1.7vw, 24px)/1.2 var(--serif); }
.captain-card {
  min-width: 0;
  padding: clamp(24px, 3vw, 42px);
}
.captain-card + .captain-card { border-left: 1px solid var(--seal); }
.captain-card header { display: flex; justify-content: space-between; gap: 18px; align-items: start; }
.captain-card header h3 { margin: 7px 0 0; font: 450 clamp(30px, 3vw, 48px)/.95 var(--serif); }
.captain-card header > b { padding: 8px 10px; border: 1px solid currentColor; border-radius: 999px; font: 11px/1 var(--mono); font-weight: 500; white-space: nowrap; text-transform: uppercase; }
.captain-card > p { min-height: 48px; margin: 17px 0 0; color: var(--ink-soft); font-size: 12px; line-height: 1.55; }
.blind-card { background: #f7f0e7; }
.aware-card { background: var(--cream); }
.posterior-board-wrap { max-width: 480px; margin-top: 24px; }
.posterior-cell {
  display: grid;
  place-items: center;
  color: var(--ink);
  background: rgba(184, 33, 24, calc(.04 + var(--probability) * .92));
  font: 11px/1 var(--mono);
  transition: color 180ms ease, background-color 180ms ease;
}
.posterior-cell.high { color: var(--cream); }
.posterior-cell.hit { color: var(--cream); background: var(--red); }
.posterior-cell.miss { color: var(--ink); background: var(--water); }
.captain-readout {
  margin-top: 16px;
  padding: 14px 0;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: baseline;
  border-top: 1px solid var(--seal);
  border-bottom: 1px solid var(--seal);
}
.captain-readout span { font: 11px/1 var(--mono); text-transform: uppercase; }
.captain-readout strong { color: var(--red); font: 450 18px/1 var(--serif); font-weight: 450; }
.captain-readout b { font-weight: inherit; }
.fixed-source {
  min-height: 74px;
  margin-top: 26px;
  padding: 18px;
  display: flex;
  align-items: center;
  border: 1px dashed var(--seal);
  color: var(--ink-soft);
  font: 12px/1.55 var(--mono);
}
.source-posterior { margin-top: 26px; }
.source-posterior-heading, .orientation-total { display: flex; justify-content: space-between; gap: 16px; }
.source-posterior-heading { align-items: baseline; }
.source-posterior-heading span, .orientation-total { font: 11px/1.3 var(--mono); text-transform: uppercase; }
.source-posterior-heading b { color: var(--red); font: 450 14px/1 var(--serif); }
.source-bars { margin-top: 13px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px 12px; }
.source-bar { min-width: 0; display: grid; grid-template-columns: 28px 1fr 32px; gap: 5px; align-items: center; }
.source-bar > span, .source-bar > strong { font: 11px/1 var(--mono); }
.source-bar > strong { text-align: right; font-weight: 400; }
.source-bar > i { height: 7px; overflow: hidden; background: var(--paper); }
.source-bar > i > b { display: block; width: 1%; height: 100%; background: var(--red); transition: width 180ms var(--ease-out); }
.orientation-total { margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--rule); color: var(--ink-soft); }
.orientation-total b { color: var(--ink); }

.provenance-receipt {
  padding: 20px clamp(24px, 4vw, 58px);
  display: grid;
  grid-template-columns: auto 1fr auto 1fr;
  gap: 12px 20px;
  align-items: start;
  border-top: 1px solid var(--seal);
  background: var(--deep);
  color: rgba(255, 250, 241, .62);
}
.provenance-receipt span { padding-top: 3px; color: var(--gold); font: 11px/1 var(--mono); text-transform: uppercase; }
.provenance-receipt p { margin: 0; color: rgba(255, 250, 241, .78); font: 11px/1.6 var(--mono); }

.delta-lab {
  margin: 0 clamp(12px, 3vw, 46px) clamp(110px, 12vw, 180px);
  padding: clamp(34px, 5vw, 72px);
  display: grid;
  grid-template-columns: minmax(340px, .84fr) minmax(430px, 1.16fr);
  gap: clamp(48px, 7vw, 110px);
  background: var(--deep);
  color: var(--cream);
}
.delta-copy h2, .evidence-heading h2, .paper-section h2 {
  margin: 16px 0 22px;
  font: 450 clamp(42px, 5vw, 76px)/.94 var(--serif);
  letter-spacing: -.045em;
}
.delta-copy > p { max-width: 650px; margin: 0; color: rgba(255, 250, 241, .68); font-size: 15px; line-height: 1.68; }
.delta-control { margin-top: 42px; }
.delta-control label { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; font: 11px/1 var(--mono); text-transform: uppercase; }
.delta-control label strong { color: var(--gold); font: 450 40px/1 var(--serif); }
.delta-control input { width: 100%; margin: 22px 0 8px; accent-color: var(--red); }
.delta-axis { display: grid; grid-template-columns: repeat(3, 1fr); color: rgba(255, 250, 241, .72); font: 11px/1.3 var(--mono); text-transform: uppercase; }
.delta-axis span:nth-child(2) { text-align: center; }
.delta-axis span:last-child { text-align: right; }
.channel-readout { margin-top: 34px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255, 250, 241, .25); border-left: 1px solid rgba(255, 250, 241, .25); }
.channel-readout article { min-height: 100px; padding: 15px; border-right: 1px solid rgba(255, 250, 241, .25); border-bottom: 1px solid rgba(255, 250, 241, .25); }
.channel-readout span { display: block; color: rgba(255, 250, 241, .72); font: 11px/1.3 var(--mono); text-transform: uppercase; }
.channel-readout strong { display: block; margin-top: 14px; color: var(--gold); font: 450 clamp(17px, 1.7vw, 25px)/1 var(--serif); }
.delta-copy .lab-note { margin-top: 16px; color: rgba(255, 250, 241, .72); font: 11px/1.55 var(--mono); }
.delta-figure { min-width: 0; margin: 0; }
.delta-figure figcaption span, .evidence-figure figcaption > span { display: block; color: var(--gold); font: 11px/1 var(--mono); text-transform: uppercase; }
.delta-figure figcaption strong { display: block; margin-top: 12px; font: 450 clamp(25px, 2.7vw, 40px)/1.04 var(--serif); }
.delta-chart { margin-top: 28px; border: 1px solid rgba(255, 250, 241, .22); background: rgba(0, 0, 0, .12); }
.delta-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.study-zone { fill: rgba(255, 250, 241, .018); }
.invert-zone { fill: rgba(200, 168, 90, .025); }
.study-label { fill: rgba(255, 250, 241, .72); font: 11px var(--mono); }
.chart-grid line { stroke: rgba(255, 250, 241, .12); }
.chart-grid text, .capacity-axis text, .gap-label, .base-label, .wall-label { fill: rgba(255, 250, 241, .72); font: 11px var(--mono); }
.unmeasured { fill: rgba(184, 33, 24, .055); }
.baseline { stroke: rgba(255, 250, 241, .4); stroke-dasharray: 5 5; }
.wall { stroke: var(--red); stroke-dasharray: 3 5; }
.cursor { stroke: var(--cream); stroke-width: 1.5; }
.curve { fill: none; stroke-width: 2.5; }
.curve.bridge { stroke-dasharray: 2 5; opacity: .65; }
.curve.symmetric { stroke: var(--gold); }
.curve.planner { stroke: rgba(255, 250, 241, .62); }
.curve.noisy { stroke: var(--red); }
.capacity-curve { fill: none; stroke: rgba(191, 202, 203, .68); stroke-width: 1.5; stroke-dasharray: 6 4; }
.capacity-axis line { stroke: rgba(191, 202, 203, .3); }
.capacity-axis text { fill: rgba(191, 202, 203, .78); }
.whisker { stroke-width: 1.25; opacity: .88; }
.whisker.symmetric-whisker { stroke: var(--gold); }
.whisker.planner-whisker { stroke: var(--cream); }
.whisker.noisy-whisker { stroke: var(--red); }
.dot { stroke: var(--deep); stroke-width: 2; }
.symmetric-dot { fill: var(--gold); }
.planner-dot { fill: var(--cream); }
.noisy-dot { fill: var(--red); }
.delta-legend { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 1px; background: rgba(255, 250, 241, .18); }
.delta-legend > span { padding: 12px 10px; display: grid; grid-template-columns: 10px 1fr; gap: 5px 8px; background: var(--deep); }
.delta-legend i { width: 8px; height: 8px; margin-top: 2px; border-radius: 50%; }
.delta-legend b { font: 11px/1.2 var(--mono); font-weight: 500; }
.delta-legend small { grid-column: 2; color: rgba(255, 250, 241, .72); font: 11px/1.35 var(--mono); }
.symmetric-key i { background: var(--gold); }
.planner-key i { background: var(--cream); }
.noisy-key i { background: var(--red); }
.capacity-key i { height: 2px; margin-top: 5px; border-radius: 0; background: rgba(191, 202, 203, .78); }
.delta-result { min-height: 54px; padding: 14px 0; display: flex; justify-content: space-between; gap: 20px; align-items: baseline; border-bottom: 1px solid rgba(255, 250, 241, .22); }
.delta-result b { color: var(--gold); font: 450 18px/1 var(--serif); }
.delta-result span { color: rgba(255, 250, 241, .82); font: 11px/1.45 var(--mono); text-align: right; }
.delta-figure > p { color: rgba(255, 250, 241, .72); font: 11px/1.6 var(--mono); }

.evidence-section { padding: clamp(88px, 10vw, 145px) clamp(20px, 7vw, 110px); background: var(--deep); color: var(--cream); }
.evidence-section .section-label { color: var(--gold); }
.evidence-heading { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 26px clamp(50px, 9vw, 140px); align-items: end; }
.evidence-heading .section-label { grid-column: 1 / -1; }
.evidence-heading h2 { max-width: 900px; margin: 0; }
.evidence-heading > p { max-width: 510px; margin: 0; color: rgba(255, 250, 241, .64); font-size: 14px; line-height: 1.65; }
.evidence-grid { margin-top: clamp(58px, 7vw, 100px); display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255, 250, 241, .34); border-bottom: 1px solid rgba(255, 250, 241, .34); }
.evidence-figure { min-width: 0; margin: 0; padding: clamp(28px, 3.8vw, 52px) clamp(0px, 3.5vw, 52px); }
.evidence-figure + figure { padding-right: 0; border-left: 1px solid rgba(255, 250, 241, .34); }
.evidence-figure:first-child { padding-left: 0; }
.evidence-figure figcaption > strong { display: block; max-width: 610px; margin-top: 12px; font: 450 clamp(24px, 2.35vw, 34px)/1.08 var(--serif); }
.figure-note { margin: 30px 0 0; padding-top: 17px; border-top: 1px solid rgba(255, 250, 241, .2); color: rgba(255, 250, 241, .76); font: 11px/1.6 var(--mono); }
.budget-demo { margin-top: 43px; }
.budget-axis { display: grid; grid-template-columns: repeat(5, 1fr); color: rgba(255, 250, 241, .72); font: 11px/1 var(--mono); }
.budget-axis span:not(:first-child) { text-align: right; }
.budget-line { position: relative; aspect-ratio: 5 / 1; margin: 8px 0 10px; border-bottom: 1px solid rgba(255, 250, 241, .25); }
.budget-line svg { width: 100%; height: 100%; overflow: visible; }
.budget-line polyline { fill: none; stroke: var(--gold); stroke-width: 2.4; vector-effect: non-scaling-stroke; }
.budget-line circle { fill: var(--gold); stroke: var(--deep); stroke-width: 2; vector-effect: non-scaling-stroke; }
.budget-line .budget-values { fill: var(--gold); font: 11px var(--mono); }
.budget-line .budget-values text { text-anchor: middle; }
.budget-line .budget-values text:first-child { text-anchor: start; }
.budget-line .budget-values text:last-child { text-anchor: end; }
.budget-line.benign polyline { stroke: var(--red); }
.budget-line.benign circle { fill: var(--red); }
.budget-line.benign .budget-values { fill: #ff8b80; }
.budget-line .zero { stroke: rgba(255, 250, 241, .42); stroke-dasharray: 4 4; vector-effect: non-scaling-stroke; }
.budget-label { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; }
.budget-label b { font: 11px/1 var(--mono); font-weight: 400; text-transform: uppercase; }
.budget-label strong { color: var(--gold); font: 450 18px/1 var(--serif); }
.source-tabs {
  margin-top: 42px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(255, 250, 241, .42);
  border-left: 1px solid rgba(255, 250, 241, .42);
}
.source-tabs button {
  min-height: 48px;
  padding: 10px 12px;
  border: 0;
  border-right: 1px solid rgba(255, 250, 241, .42);
  border-bottom: 1px solid rgba(255, 250, 241, .42);
  color: var(--cream);
  background: transparent;
  cursor: pointer;
  font: 11px/1.25 var(--mono);
  text-align: left;
  text-transform: uppercase;
  transition: color 160ms ease, background-color 160ms ease, transform 120ms var(--ease-out);
}
.source-tabs button.active { color: var(--seal); background: var(--gold); }
.source-sequence {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 5px;
}
.source-sequence i {
  min-height: 66px;
  padding: 9px 5px;
  display: grid;
  align-content: space-between;
  border: 1px solid rgba(255, 250, 241, .35);
  font-style: normal;
}
.source-sequence i.truth { border-color: var(--gold); color: var(--gold); }
.source-sequence i.flip { border-color: var(--red); color: #ff8b80; }
.source-sequence i.coin { border-style: dashed; color: var(--cream); }
.source-sequence b, .source-sequence span { font: 11px/1 var(--mono); font-weight: 400; }
.source-sequence span { text-transform: uppercase; }
.source-case { min-height: 170px; margin-top: 22px; padding: 22px; border: 1px solid rgba(255, 250, 241, .42); }
.source-case > span { color: var(--gold); font: 11px/1 var(--mono); text-transform: uppercase; }
.source-case > strong { display: block; margin-top: 13px; font: 450 clamp(24px, 2.2vw, 34px)/1.06 var(--serif); }
.source-case > p { margin: 16px 0 0; color: rgba(255, 250, 241, .8); font-size: 13px; line-height: 1.6; }
.paper-section { padding: clamp(95px, 11vw, 160px) clamp(20px, 7vw, 110px); display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; }
.paper-section h2 { max-width: 950px; }
.paper-copy > p { max-width: 900px; margin: 0; color: rgba(78, 54, 41, .82); font-size: 16px; line-height: 1.7; }
.paper-copy .transfer-note { max-width: 840px; margin-top: 24px; padding: 20px 22px; border-left: 3px solid var(--red); background: var(--paper); font-size: 13px; }
.paper-section > a { padding: 18px 22px; border: 1px solid var(--seal); border-radius: 999px; text-decoration: none; font: 11px/1 var(--mono); white-space: nowrap; transition: color 160ms ease, background-color 160ms ease, transform 120ms var(--ease-out); }
.site-footer { padding: 28px clamp(20px, 7vw, 110px); display: flex; justify-content: space-between; gap: 30px; border-top: 1px solid var(--rule); color: rgba(78, 54, 41, .78); font: 11px/1.4 var(--mono); }
.site-footer a { text-decoration: none; }

button:focus-visible, a:focus-visible, input:focus-visible { outline: 2px solid var(--red); outline-offset: 3px; }
.reset-button:active, .question-picker button:active:not(:disabled), .console-actions button:active:not(:disabled), .shared-board button:active, .source-tabs button:active, .paper-section > a:active { transform: scale(.97); }
.load-error .evidence-console, .load-error .captain-card { opacity: .48; pointer-events: none; }

@media (hover: hover) and (pointer: fine) {
  .project-nav a:hover, .play-link:hover, .site-footer a:hover { color: var(--red); }
  .reset-button:hover { color: var(--seal); background: var(--cream); }
  .shared-board button:hover:not(.selected) { background: #e8d9c9; }
  .question-picker button:hover:not(.active):not(:disabled), .console-actions button:hover:not(.primary-action):not(:disabled) { color: var(--cream); background: var(--seal); }
  .source-tabs button:hover:not(.active) { color: var(--seal); background: var(--cream); }
  .console-actions .primary-action:hover { background: #961b14; }
  .paper-section > a:hover { color: var(--cream); background: var(--seal); }
}

@media (max-width: 1260px) {
  .duel-workbench { grid-template-columns: 1fr; }
  .evidence-console { border-right: 0; border-bottom: 1px solid var(--seal); }
  .evidence-console { display: grid; grid-template-columns: minmax(270px, .72fr) minmax(340px, 1.28fr); gap: 0 42px; }
  .console-heading, .shared-board-wrap, .cell-selection { grid-column: 1; }
  .question-picker, .voi-receipt, .decision-gate, .console-actions, .shared-log { grid-column: 2; }
  .question-picker { grid-row: 1 / span 3; align-self: end; }
  .voi-receipt { grid-row: 4; }
  .decision-gate { grid-row: 5; }
  .console-actions { grid-row: 6; }
  .shared-log { grid-row: 7; }
  .shared-board-wrap { margin-left: 0; }
  .provenance-receipt { grid-template-columns: auto 1fr; }
  .delta-lab { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .hero { min-height: auto; grid-template-columns: 1fr; grid-template-areas: "eyebrow" "title" "copy" "link"; }
  .duel-header { grid-template-columns: 1fr; align-items: start; }
  .reset-button { justify-self: start; }
  .evidence-console { display: block; }
  .shared-board-wrap { margin-left: auto; }
  .captain-comparison { grid-template-columns: 1fr; }
  .shared-event { grid-column: 1; }
  .captain-card + .captain-card { border-top: 1px solid var(--seal); border-left: 0; }
  .captain-card > p { min-height: 0; }
  .evidence-heading, .evidence-grid { grid-template-columns: 1fr; }
  .evidence-heading .section-label { grid-column: auto; }
  .evidence-figure { padding-right: 0; padding-left: 0; }
  .evidence-figure + figure { border-top: 1px solid rgba(255, 250, 241, .34); border-left: 0; }
}

@media (max-width: 620px) {
  .project-nav { grid-template-columns: 1fr auto; }
  .project-nav > span { display: none; }
  .hero { padding-top: 88px; }
  .hero h1 { font-size: clamp(64px, 20vw, 92px); }
  .hero p { font-size: 20px; }
  .duel-shell, .delta-lab { margin-left: 0; margin-right: 0; border-left: 0; border-right: 0; }
  .replay-strip { grid-template-columns: 1fr 1fr; }
  .replay-strip span:nth-child(2) { border-right: 0; }
  .replay-strip span:nth-child(-n+2) { border-bottom: 1px solid var(--seal); }
  .shared-event { grid-template-columns: 1fr; gap: 7px; }
  .voi-receipt { grid-template-columns: 1fr; }
  .voi-receipt div { border-right: 0; border-bottom: 1px solid var(--seal); }
  .voi-receipt div:last-child { border-bottom: 0; }
  .voi-receipt span { min-height: 0; }
  .source-bars { grid-template-columns: 1fr 1fr; }
  .captain-card header { flex-direction: column; align-items: flex-start; }
  .captain-card header > b { white-space: normal; }
  .provenance-receipt { grid-template-columns: 1fr; }
  .provenance-receipt span { margin-top: 7px; }
  .channel-readout, .delta-legend { grid-template-columns: 1fr; }
  .source-sequence { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .channel-readout article { min-height: 76px; }
  .delta-result { align-items: flex-start; flex-direction: column; }
  .delta-result span { text-align: left; }
  .paper-section { grid-template-columns: 1fr; }
  .paper-section > a { justify-self: start; }
  .site-footer { flex-direction: column; }
}

@media (max-width: 410px) {
  .source-tabs { grid-template-columns: 1fr; }
  .decision-gate { grid-template-columns: 1fr; }
  .decision-gate > strong { justify-self: start; }
}

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

/* Hero: two entry links share the single "link" grid area. */
.play-links {
  grid-area: link;
  justify-self: start;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px clamp(16px, 3vw, 32px);
}
.play-links .play-link { grid-area: auto; justify-self: auto; min-height: 44px; display: inline-flex; align-items: center; }

/* ---------- embedded 3D world ---------- */
.world-section { padding: clamp(80px, 10vw, 140px) clamp(20px, 7vw, 110px) clamp(110px, 12vw, 180px); }
.world-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: clamp(30px, 5vw, 80px);
  align-items: end;
}
.world-head h2 { margin: 14px 0 0; font: 450 clamp(38px, 4.6vw, 68px)/1 var(--serif); letter-spacing: -.04em; }
.world-head p { margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 1.65; }
@media (max-width: 820px) { .world-head { grid-template-columns: 1fr; } }

/* The world follows the hero directly, in the old replay slot */
.hero + .world-section { padding-top: 0; }
