:root {
  --ink: #e7e1d5;
  --ink-soft: #99988e;
  --paper: #11120f;
  --paper-deep: #22231e;
  --surface: #181915;
  --surface-green: #28271f;
  --leaf: #c49450;
  --leaf-dark: #0a0b09;
  --lime: #c49450;
  --ochre: #b88342;
  --clay: #8d6240;
  --sky: #758888;
  --line: rgba(231, 225, 213, 0.17);
  --line-strong: rgba(231, 225, 213, 0.34);
  --shadow: 0 22px 70px rgba(0, 0, 0, 0.28);
  --radius-sm: 2px;
  --radius-md: 3px;
  --radius-lg: 4px;
  --shell: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background:
    radial-gradient(circle at 10% -5%, rgba(196, 148, 80, 0.08), transparent 34rem),
    linear-gradient(90deg, rgba(231, 225, 213, 0.025) 1px, transparent 1px),
    linear-gradient(rgba(231, 225, 213, 0.018) 1px, transparent 1px),
    var(--paper);
  background-size: auto, 48px 48px, 48px 48px, auto;
  font-family: "IBM Plex Mono", "Bahnschrift", "Cascadia Mono", "Segoe UI", sans-serif;
  font-weight: 300;
  line-height: 1.5;
}

strong { font-weight: 500; }

::selection { color: var(--leaf-dark); background: var(--leaf); }

button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 1px solid var(--leaf);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 10px;
  left: 10px;
  padding: 10px 14px;
  color: white;
  background: var(--leaf-dark);
  border-radius: 8px;
  transform: translateY(-150%);
}
.skip-link:focus { transform: none; }

.shell { width: var(--shell); margin-inline: auto; }

.site-header {
  position: sticky;
  z-index: 50;
  top: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
  min-height: 78px;
  padding: 10px max(20px, calc((100vw - 1180px) / 2));
  background: rgba(17, 18, 15, 0.92);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(16px);
}

.brand { display: flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; }
.brand-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: var(--leaf);
  background: transparent;
  border: 1px solid var(--line-strong);
  border-radius: 2px;
}
.brand-mark svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.brand strong, .brand small { display: block; }
.brand strong { letter-spacing: -0.02em; }
.brand small { color: var(--ink-soft); font-size: 0.72rem; }

.main-nav { display: flex; justify-content: center; gap: 5px; scrollbar-width: none; }
.main-nav::-webkit-scrollbar { display: none; }
.nav-link {
  padding: 9px 13px;
  color: var(--ink-soft);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 2px;
  cursor: pointer;
  font-weight: 400;
}
.nav-link:hover { color: var(--ink); background: rgba(231, 225, 213, 0.05); }
.nav-link.is-active { color: var(--leaf); background: rgba(196, 148, 80, 0.08); border-color: rgba(196, 148, 80, 0.38); }

.header-link { font-size: 0.88rem; font-weight: 500; text-underline-offset: 4px; }

.view { animation: view-in 280ms ease-out; }
.view[hidden] { display: none; }
@keyframes view-in { from { opacity: 0; transform: translateY(5px); } }

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(310px, 0.65fr);
  gap: 64px;
  align-items: center;
  padding-block: clamp(48px, 6vw, 78px) 46px;
}

.eyebrow {
  width: fit-content;
  margin: 0 0 12px;
  padding: 3px 6px 2px;
  color: var(--leaf);
  background: rgba(196, 148, 80, 0.11);
  font-size: 0.74rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.1; letter-spacing: -0.055em; font-weight: 300; }
h1 { max-width: 900px; margin-bottom: 22px; font-family: inherit; font-size: clamp(2.7rem, 5.4vw, 5.2rem); }
h2 { margin-bottom: 12px; font-family: inherit; font-size: clamp(1.85rem, 3.2vw, 2.9rem); }
h3 { font-size: 1.18rem; font-weight: 400; }
.hero-lede { max-width: 650px; margin-bottom: 24px; color: var(--ink-soft); font-size: 1rem; }
.hero-actions, .page-actions, .source-links { display: flex; flex-wrap: wrap; gap: 10px; }

.button {
  min-height: 44px;
  padding: 11px 18px;
  border: 1px solid transparent;
  border-radius: 2px;
  font-weight: 500;
  cursor: pointer;
  transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
.button:hover { transform: translateY(-1px); }
.button-primary { color: var(--leaf-dark); background: var(--leaf); box-shadow: none; }
.button-primary:hover { color: var(--leaf-dark); background: #d2aa70; }
.button-secondary { color: var(--ink); background: transparent; border-color: var(--line); }
.button-secondary:hover { background: rgba(231, 225, 213, 0.06); }

.deadline-card {
  position: relative;
  overflow: hidden;
  padding: 24px;
  color: var(--ink);
  background: rgba(24, 25, 21, 0.84);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}
.deadline-card::after {
  content: "";
  position: absolute;
  right: -45px;
  bottom: -65px;
  width: 170px;
  height: 170px;
  border: 1px solid rgba(196, 148, 80, 0.32);
  border-radius: 50%;
  box-shadow: 0 0 0 25px rgba(196, 148, 80, 0.035), 0 0 0 50px rgba(196, 148, 80, 0.025);
}
.deadline-topline { display: flex; align-items: center; gap: 8px; font-size: 0.78rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; }
.status-dot { width: 9px; height: 9px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 0 5px rgba(190, 213, 106, 0.12); }
.countdown-number { margin: 22px 0 -4px; font-family: inherit; font-size: 4.5rem; font-weight: 300; line-height: 1; letter-spacing: -.08em; }
.countdown-label { color: var(--ink-soft); }
.deadline-row { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-top: 1px solid var(--line); }
.deadline-row span { color: var(--ink-soft); }
.deadline-card small { position: relative; z-index: 1; display: block; margin-top: 12px; color: rgba(255,255,255,.55); }

.stat-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.stat-strip div { display: flex; flex-direction: column; padding: 28px 8px; }
.stat-strip div + div { padding-left: 30px; border-left: 1px solid var(--line); }
.stat-strip strong { font-family: inherit; font-size: 1.8rem; font-weight: 300; letter-spacing: -.05em; }
.stat-strip span { color: var(--ink-soft); font-size: 0.83rem; }

.section { padding-block: 52px; }
.section + .section { border-top: 1px solid var(--line); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 32px; }
.section-heading.compact { margin-bottom: 22px; }
.section-heading h2 { margin-bottom: 0; }
.section-intro { max-width: 600px; color: var(--ink-soft); }
.updated-note, .chart-hint { color: var(--ink-soft); font-size: 0.78rem; }

.principle-grid { display: grid; grid-template-columns: 1.14fr 1fr 1fr; gap: 14px; }
.principle-card { position: relative; display: flex; min-height: 230px; flex-direction: column; padding: 22px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); }
.principle-card::before, .principle-card::after {
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  pointer-events: none;
}
.principle-card::before { top: -4px; left: -4px; border-top: 1px solid var(--leaf); border-left: 1px solid var(--leaf); }
.principle-card::after { right: -4px; bottom: -4px; border-right: 1px solid var(--leaf); border-bottom: 1px solid var(--leaf); }
.principle-card-featured { color: var(--ink); background: rgba(196, 148, 80, 0.055); border-color: rgba(196, 148, 80, 0.5); }
.card-number { margin-bottom: 26px; font-family: inherit; font-size: 1.05rem; font-weight: 300; opacity: 0.65; }
.principle-card p { color: var(--ink-soft); }
.principle-card-featured p { color: var(--ink-soft); }
.mini-rule { display: flex; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); font-size: .78rem; }
.principle-card-featured .mini-rule { border-color: var(--line); }
.mini-rule span { opacity: .65; }
.mini-rule strong { text-align: right; }

.split-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; align-items: center; }
.agent-loop { margin: 35px 0 0; padding: 0; list-style: none; counter-reset: agent-step; }
.agent-loop li { position: relative; display: grid; grid-template-columns: 90px 1fr; gap: 16px; padding: 17px 0 17px 28px; border-left: 1px solid var(--line); }
.agent-loop li::before { content: ""; position: absolute; top: 23px; left: -4px; width: 7px; height: 7px; background: var(--leaf); border: 2px solid var(--paper); border-radius: 50%; }
.agent-loop span { font-weight: 500; }
.agent-loop p { margin: 0; color: var(--ink-soft); font-size: .92rem; }
.season-visual { padding: 30px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.season-header { display: flex; justify-content: space-between; margin-bottom: 14px; color: var(--ink-soft); font-size: .74rem; text-transform: uppercase; }
.season-track { display: grid; grid-template-columns: repeat(30, 1fr); gap: 4px; min-height: 250px; }
.season-phase { display: flex; grid-column: span var(--span); flex-direction: column; justify-content: flex-end; padding: 16px 10px; border-radius: 11px; }
.season-phase strong { writing-mode: vertical-rl; transform: rotate(180deg); font-weight: 400; }
.season-phase small { margin-top: 12px; color: var(--ink-soft); font-size: .68rem; }
.phase-establish { background: var(--paper-deep); }
.phase-scale { background: var(--surface-green); }
.phase-optimize { color: var(--leaf-dark); background: var(--leaf); }
.phase-optimize small { color: rgba(10,11,9,.65); }
.phase-liquidate { color: var(--leaf-dark); background: #9d7440; }
.season-visual > p { margin: 16px 0 0; color: var(--ink-soft); font-size: .75rem; }

.progress-label { color: var(--leaf); }
.progress-track { height: 7px; margin: -12px 0 26px; overflow: hidden; background: var(--paper-deep); border-radius: 99px; }
.progress-track span { display: block; width: 0; height: 100%; background: var(--leaf); border-radius: inherit; transition: width 240ms ease; }
.checklist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px 30px; }
.checklist label { display: flex; gap: 14px; padding: 20px 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.checklist input { width: 21px; height: 21px; margin: 2px 0 0; accent-color: var(--leaf); }
.checklist strong, .checklist small { display: block; }
.checklist small { margin-top: 4px; color: var(--ink-soft); }
.checklist input:checked + span strong { text-decoration: line-through; opacity: .62; }

.page-intro { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding-block: 56px 34px; border-bottom: 1px solid var(--line); }
.page-intro h1 { margin-bottom: 12px; font-size: clamp(2.8rem, 5vw, 5rem); }
.page-intro p:not(.eyebrow) { max-width: 690px; margin-bottom: 0; color: var(--ink-soft); }
.source-links a { padding: 9px 0; font-size: .83rem; font-weight: 500; text-underline-offset: 4px; }

.mechanics-grid { display: grid; grid-template-columns: 1.5fr .7fr; gap: 50px; }
.farm-panel { min-width: 0; }
.select-label { display: flex; align-items: center; gap: 8px; color: var(--ink-soft); font-size: .8rem; }
select, input, textarea { color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 9px; }
select { padding: 8px 30px 8px 10px; }
.farm-board-wrap { display: grid; grid-template-columns: minmax(300px, 520px) minmax(120px, 1fr); gap: 22px; align-items: start; }
.farm-board { display: grid; grid-template-columns: repeat(10, 1fr); aspect-ratio: 1; overflow: hidden; background: #4a4130; border: 8px solid var(--surface); border-radius: 2px; box-shadow: 0 0 0 1px var(--line); }
.farm-cell { position: relative; display: grid; place-items: center; border-right: 1px solid rgba(23,53,42,.09); border-bottom: 1px solid rgba(23,53,42,.09); }
.farm-cell:nth-child(5), .farm-cell:nth-child(15), .farm-cell:nth-child(25), .farm-cell:nth-child(35), .farm-cell:nth-child(45), .farm-cell:nth-child(55), .farm-cell:nth-child(65), .farm-cell:nth-child(75), .farm-cell:nth-child(85), .farm-cell:nth-child(95) { border-right: 3px solid rgba(23,53,42,.28); }
.farm-cell:nth-child(n+41):nth-child(-n+50) { border-bottom: 3px solid rgba(23,53,42,.28); }
.farm-cell.locked { background: rgba(23,53,42,.11); }
.farm-cell.route::after { content: ""; width: 24%; aspect-ratio: 1; background: var(--paper); border-radius: 50%; box-shadow: 0 0 0 2px var(--leaf); }
.farm-cell.crop::after { content: ""; width: 40%; height: 40%; background: var(--lime); border-radius: 50% 5% 50% 5%; transform: rotate(-25deg); }
.farm-cell.animal::after { content: ""; width: 40%; aspect-ratio: 1; background: var(--ochre); border: 2px solid var(--surface); border-radius: 2px; }
.farm-cell.shed::after { content: ""; width: 58%; height: 48%; background: var(--clay); clip-path: polygon(50% 0, 100% 35%, 88% 35%, 88% 100%, 12% 100%, 12% 35%, 0 35%); }
.board-legend { display: flex; flex-direction: column; gap: 10px; }
.legend-item { display: flex; align-items: center; gap: 8px; color: var(--ink-soft); font-size: .78rem; }
.legend-swatch { width: 14px; height: 14px; border-radius: 4px; }
.insight-panel { align-self: stretch; padding: 28px; color: var(--ink); background: var(--leaf-dark); border: 1px solid var(--line-strong); border-radius: var(--radius-lg); }
.insight-panel h3 { margin-top: 10px; font-family: inherit; font-size: 1.6rem; font-weight: 300; }
.insight-panel p { color: rgba(255,255,255,.68); }
.insight-panel ul { margin: 22px 0 0; padding-left: 18px; }
.insight-panel li { margin: 10px 0; }

.segmented-control { display: flex; padding: 3px; background: var(--paper-deep); border: 1px solid var(--line); border-radius: 2px; }
.segmented-control button { padding: 7px 13px; color: var(--ink-soft); background: transparent; border: 0; border-radius: 1px; cursor: pointer; }
.segmented-control button.is-active { color: var(--leaf-dark); background: var(--leaf); }
.table-wrap { overflow-x: auto; }
.production-table { width: 100%; border-collapse: collapse; }
.production-table th, .production-table td { padding: 17px 14px; text-align: left; border-bottom: 1px solid var(--line); }
.production-table th { color: var(--ink-soft); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.production-table td { font-size: .9rem; }
.asset-name { display: flex; align-items: center; gap: 10px; font-weight: 500; }
.asset-dot { width: 10px; height: 10px; background: var(--leaf); border-radius: 50%; }
.asset-dot.animal { background: var(--ochre); border-radius: 3px; }
.table-note { margin-top: 14px; color: var(--ink-soft); font-size: .78rem; }

.invariant-strip { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.invariant-strip div { display: grid; gap: 4px; padding: 22px 16px; }
.invariant-strip div + div { border-left: 1px solid var(--line); }
.invariant-strip strong { color: var(--leaf); font-size: 1rem; }
.invariant-strip span { color: var(--ink-soft); font-size: .78rem; }

.rule-grid, .framework-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.full-span { grid-column: 1 / -1; }
.rule-grid article, .framework-grid article { min-height: 230px; padding: 24px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); }
.rule-grid article > span, .framework-grid article > span { display: inline-grid; width: 34px; height: 34px; margin-bottom: 35px; place-items: center; color: var(--leaf); background: var(--surface-green); border-radius: 50%; font-family: inherit; font-weight: 400; }
.rule-grid article p, .framework-grid article p { color: var(--ink-soft); font-size: .9rem; }
.framework-grid { grid-template-columns: repeat(5, 1fr); }
.framework-grid article { min-height: 250px; }

.contract-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: stretch; }
pre { margin: 0; padding: 30px; overflow-x: auto; color: var(--ink); background: var(--leaf-dark); border: 1px solid var(--line); border-radius: var(--radius-md); }
code { font-family: "SFMono-Regular", Consolas, monospace; font-size: .86em; }
.contract-list { display: grid; align-content: stretch; }
.contract-list div { display: grid; grid-template-columns: 110px 1fr; gap: 16px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.contract-list span { color: var(--ink-soft); }

.experiment-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; padding-bottom: 50px; }
.experiment-stats article { padding: 22px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); }
.experiment-stats span, .experiment-stats small { display: block; color: var(--ink-soft); }
.experiment-stats span { font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; }
.experiment-stats strong { display: block; margin: 15px 0 2px; font-family: inherit; font-size: 2.25rem; font-weight: 300; letter-spacing: -.06em; }
.experiment-stats small { font-size: .76rem; }

.chart-panel { padding-top: 50px; }
.chart-empty { display: grid; min-height: 285px; place-items: center; align-content: center; color: var(--ink-soft); border: 1px dashed var(--line); border-radius: var(--radius-md); }
.chart-empty svg { width: 220px; fill: none; stroke: var(--leaf); stroke-width: 2; }
.chart-empty circle { fill: var(--paper); stroke-width: 2; }
.chart-empty p { margin: 20px 0 0; }
.experiment-chart { min-height: 330px; }
.experiment-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.chart-gridline { stroke: var(--line); stroke-width: 1; }
.chart-path { fill: none; stroke: var(--leaf); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.chart-area { fill: url(#chartFill); opacity: .4; }
.chart-point { fill: var(--paper); stroke: var(--leaf); stroke-width: 3; }
.chart-label { fill: var(--ink-soft); font-size: 12px; }
.chart-value { fill: var(--ink); font-size: 12px; font-weight: 700; }

.experiment-list { display: grid; gap: 12px; }
.experiment-entry { display: grid; grid-template-columns: 90px minmax(0, 1fr) 150px 120px 42px; gap: 18px; align-items: center; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); }
.version-chip { display: inline-flex; justify-content: center; padding: 7px 9px; color: var(--leaf); background: rgba(196, 148, 80, 0.09); border: 1px solid rgba(196, 148, 80, 0.32); border-radius: 2px; font-family: inherit; font-weight: 500; }
.entry-main h3 { margin: 0 0 5px; font-size: 1rem; letter-spacing: -.02em; }
.entry-main p { margin: 0; color: var(--ink-soft); font-size: .82rem; }
.entry-rate strong, .entry-bank strong { display: block; font-size: 1.2rem; }
.entry-rate span, .entry-bank span { color: var(--ink-soft); font-size: .72rem; }
.result-badge { display: inline-flex; margin-top: 7px; padding: 3px 8px; background: var(--paper-deep); border-radius: 2px; font-size: .68rem; font-weight: 500; text-transform: uppercase; }
.result-badge.keep { color: var(--leaf); background: var(--surface-green); }
.result-badge.revert { color: #d79a7f; background: rgba(184,103,69,.15); }
.delete-button, .icon-button { display: grid; place-items: center; color: var(--ink-soft); background: transparent; border: 1px solid var(--line); border-radius: 50%; cursor: pointer; }
.delete-button { width: 36px; height: 36px; }
.delete-button:hover { color: #d79a7f; background: rgba(184,103,69,.14); }
.empty-state { display: grid; min-height: 330px; place-items: center; align-content: center; text-align: center; }
.empty-state[hidden] { display: none; }
.empty-icon { display: grid; width: 52px; height: 52px; margin-bottom: 18px; place-items: center; color: white; background: var(--leaf); border-radius: 50%; font-size: 1.5rem; }
.empty-state h3 { margin-bottom: 8px; }
.empty-state p { max-width: 500px; color: var(--ink-soft); }

dialog { width: min(680px, calc(100% - 28px)); padding: 0; color: var(--ink); background: var(--paper); border: 1px solid var(--line-strong); border-radius: 4px; box-shadow: 0 30px 90px rgba(0,0,0,.55); }
dialog::backdrop { background: rgba(12, 28, 22, .62); backdrop-filter: blur(3px); }
dialog form { padding: 28px; }
.dialog-header { display: flex; justify-content: space-between; align-items: start; gap: 20px; margin-bottom: 24px; }
.dialog-header h2 { margin: 0; font-size: 2.2rem; }
.icon-button { width: 38px; height: 38px; font-size: 1.4rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.form-grid label { display: grid; gap: 7px; color: var(--ink-soft); font-size: .78rem; font-weight: 500; }
.form-grid input, .form-grid select, .form-grid textarea { width: 100%; padding: 11px 12px; }
.form-grid textarea { resize: vertical; }
.full-field { grid-column: 1 / -1; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
.form-error { min-height: 1.2em; margin: 12px 0 0; color: #8e3229; font-size: .8rem; }

.next-bet { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; margin-top: 50px; padding: 36px 42px; color: var(--ink); background: var(--leaf-dark); border: 1px solid var(--line-strong) !important; border-radius: var(--radius-lg); }
.next-bet .eyebrow { color: var(--lime); }
.next-bet h2 { margin-bottom: 8px; }
.next-bet p:last-child { margin: 0; color: rgba(255,255,255,.66); }
.priority-orbit { display: grid; width: 104px; height: 104px; place-items: center; align-content: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; }
.priority-orbit span { font-family: inherit; font-size: 1.8rem; font-weight: 300; }
.priority-orbit small { color: rgba(255,255,255,.57); font-size: .68rem; text-transform: uppercase; }
.roadmap-section { border-top: 0 !important; }
.roadmap-list { display: grid; gap: 12px; }
.roadmap-item { display: grid; grid-template-columns: 80px minmax(0, 1fr) 115px 135px 36px; gap: 18px; align-items: center; padding: 22px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); }
.roadmap-score { text-align: center; }
.roadmap-score strong { display: block; font-family: inherit; font-size: 1.65rem; font-weight: 300; }
.roadmap-score small { color: var(--ink-soft); font-size: .65rem; text-transform: uppercase; }
.roadmap-copy h3 { margin: 0 0 5px; font-size: 1rem; letter-spacing: -.02em; }
.roadmap-copy p { margin: 0; color: var(--ink-soft); font-size: .8rem; }
.score-trio { display: flex; gap: 10px; }
.score-trio span { color: var(--ink-soft); font-size: .7rem; }
.score-trio strong { display: block; color: var(--ink); font-size: .9rem; }
.roadmap-item select { width: 100%; font-size: .78rem; }
.roadmap-item[data-status="done"] { opacity: .56; }
.roadmap-item[data-status="done"] h3 { text-decoration: line-through; }

.site-footer { display: flex; justify-content: space-between; gap: 30px; padding-block: 35px 55px; border-top: 1px solid var(--line); }
.site-footer strong, .site-footer span { display: block; }
.site-footer span { margin-top: 4px; color: var(--ink-soft); font-size: .78rem; }
.footer-links { display: flex; gap: 20px; font-size: .83rem; font-weight: 500; }

@media (max-width: 980px) {
  .site-header { grid-template-columns: auto 1fr; }
  .main-nav { order: 3; grid-column: 1 / -1; justify-content: flex-start; overflow-x: auto; }
  .header-link { justify-self: end; }
  .hero { grid-template-columns: 1fr; gap: 35px; }
  .deadline-card { max-width: 560px; }
  .principle-grid { grid-template-columns: 1fr 1fr; }
  .principle-card-featured { grid-column: 1 / -1; min-height: 260px; }
  .split-layout, .mechanics-grid { grid-template-columns: 1fr; }
  .insight-panel { min-height: 280px; }
  .rule-grid { grid-template-columns: repeat(2, 1fr); }
  .framework-grid { grid-template-columns: repeat(3, 1fr); }
  .experiment-entry { grid-template-columns: 80px minmax(0,1fr) 110px 36px; }
  .entry-bank { display: none; }
  .roadmap-item { grid-template-columns: 70px minmax(0,1fr) 110px 36px; }
  .score-trio { display: none; }
}

@media (max-width: 720px) {
  :root { --shell: min(100% - 28px, 1180px); }
  .site-header { gap: 10px; padding-inline: 14px; }
  .brand small, .header-link { display: none; }
  .nav-link { padding-inline: 8px; font-size: .72rem; }
  .hero { padding-top: 50px; }
  h1 { font-size: clamp(2.25rem, 10vw, 3.1rem); }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .button { width: 100%; }
  .stat-strip { grid-template-columns: repeat(2, 1fr); }
  .stat-strip div + div { padding-left: 16px; }
  .stat-strip div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .stat-strip div:nth-child(4) { border-top: 1px solid var(--line); }
  .section { padding-block: 50px; }
  .section-heading, .page-intro { align-items: flex-start; flex-direction: column; }
  .principle-grid, .checklist, .rule-grid, .contract-grid, .experiment-stats, .framework-grid { grid-template-columns: 1fr; }
  .invariant-strip { grid-template-columns: 1fr; }
  .invariant-strip div + div { border-top: 1px solid var(--line); border-left: 0; }
  .principle-card-featured { grid-column: auto; }
  .split-layout { gap: 45px; }
  .agent-loop li { grid-template-columns: 72px 1fr; padding-left: 20px; }
  .farm-board-wrap { grid-template-columns: 1fr; }
  .board-legend { flex-direction: row; flex-wrap: wrap; }
  .contract-list div { grid-template-columns: 1fr; gap: 3px; }
  .experiment-entry { grid-template-columns: 1fr auto; }
  .entry-main { grid-column: 1 / -1; }
  .entry-bank { display: block; }
  .delete-button { grid-column: 2; grid-row: 1; }
  .form-grid { grid-template-columns: 1fr; }
  .full-field { grid-column: auto; }
  .next-bet { grid-template-columns: 1fr; padding: 30px; }
  .roadmap-item { grid-template-columns: 70px 1fr 36px; }
  .roadmap-copy { grid-column: 1 / -1; grid-row: 2; }
  .roadmap-item select { grid-column: 1 / 3; }
  .site-footer { flex-direction: column; }
}

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

/* Left-rail workbook layout */
:root { --rail-width: 246px; --shell: min(1040px, calc(100% - 64px)); }

.site-header {
  position: fixed;
  inset: 0 auto 0 0;
  display: flex;
  width: var(--rail-width);
  min-height: 100vh;
  flex-direction: column;
  align-items: stretch;
  gap: 30px;
  padding: 28px 20px 22px;
  border-right: 1px solid var(--line);
  border-bottom: 0;
}

.brand { padding: 0 4px 24px; border-bottom: 1px solid var(--line); }
.main-nav { display: flex; order: initial; grid-column: auto; flex: 1; flex-direction: column; justify-content: flex-start; gap: 28px; overflow: visible; }
.nav-group { display: grid; gap: 4px; }
.nav-label { padding: 0 10px 7px; color: var(--ink-soft); font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; }
.nav-link { display: grid; grid-template-columns: 26px 1fr; width: 100%; align-items: center; padding: 9px 10px; text-align: left; font-size: .76rem; }
.nav-link > span { color: var(--ink-soft); font-size: .62rem; }
.nav-link.is-active { border-color: transparent; border-left-color: var(--leaf); background: rgba(196,148,80,.07); }
.header-link { margin-top: auto; padding: 12px 10px 0; border-top: 1px solid var(--line); font-size: .72rem; }

main { margin-left: var(--rail-width); }
.site-footer { width: calc(100% - var(--rail-width)); margin-right: 0; margin-left: var(--rail-width); padding-inline: 32px; }

.principle-grid { grid-template-columns: 1fr; }
.principle-card-featured { grid-column: auto; min-height: 210px; }
.principle-card { min-height: 190px; }

.leader-stack { display: grid; gap: 0; }
.leader-entry { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 34px; padding: 38px 0; border-top: 1px solid var(--line); }
.leader-entry:last-child { border-bottom: 1px solid var(--line); }
.leader-rank { display: flex; flex-direction: column; gap: 4px; }
.leader-rank > span { color: var(--leaf); font-size: .72rem; }
.leader-rank strong { margin-top: 12px; font-size: 1.35rem; font-weight: 300; }
.leader-rank small { color: var(--ink-soft); font-size: .65rem; text-transform: uppercase; }
.leader-title { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.leader-title h2 { margin: 0; font-size: clamp(1.45rem,3vw,2.2rem); }
.leader-title > span { color: var(--leaf); font-size: .72rem; text-transform: uppercase; }

.vertical-flow { margin: 28px 0 0; padding: 0 0 0 18px; border-left: 1px solid var(--line-strong); list-style: none; }
.vertical-flow li { position: relative; display: grid; grid-template-columns: 92px 1fr; gap: 20px; padding: 0 0 30px 20px; }
.vertical-flow li:last-child { padding-bottom: 0; }
.vertical-flow li::before { content: ""; position: absolute; top: 5px; left: -23px; width: 7px; height: 7px; background: var(--paper); border: 1px solid var(--leaf); border-radius: 50%; }
.vertical-flow li > span { color: var(--leaf); font-size: .7rem; text-transform: uppercase; }
.vertical-flow p { margin: 0; color: var(--ink-soft); }
.compact-flow { max-width: 690px; margin-top: 24px; }
.compact-flow li { padding-bottom: 18px; }
.compact-flow p { color: var(--ink); font-size: .82rem; }
.analysis-note { margin: 26px 0 0; color: var(--ink-soft); font-size: .78rem; }

.approach-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 70px; align-items: start; }
.approach-flow { margin-top: 0; }
.approach-flow li { grid-template-columns: 115px 1fr; padding-bottom: 48px; }
.approach-flow h3 { margin: 0 0 7px; }
.approach-flow p { font-size: .86rem; }
.approach-brief { border-top: 1px solid var(--line); }
.approach-brief div { display: grid; gap: 7px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.approach-brief span { color: var(--ink-soft); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.approach-brief strong { font-size: .8rem; }

.balanced-notebook { padding-top: 0; }
.notebook-tabs { display: flex; gap: 0; overflow-x: auto; border-bottom: 1px solid var(--line); }
.notebook-tab { flex: 0 0 auto; padding: 13px 22px; border: 0; border-bottom: 1px solid transparent; background: transparent; color: var(--ink-soft); font: inherit; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.notebook-tab span { margin-left: 6px; color: var(--leaf); }
.notebook-tab:hover, .notebook-tab.is-active { color: var(--ink); }
.notebook-tab.is-active { border-bottom-color: var(--leaf); }
.notebook-tab:focus-visible, .challenge-row:focus-visible { outline: 1px solid var(--leaf); outline-offset: -2px; }
.notebook-panel { min-height: 430px; padding: 42px 0 12px; }
.run-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.run-summary div { display: grid; gap: 8px; padding: 22px 18px; border-right: 1px solid var(--line); }
.run-summary div:last-child { border-right: 0; }
.run-summary span { color: var(--ink-soft); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.run-summary strong { color: var(--ink); font-size: 1.05rem; font-weight: 300; }
.run-summary small { color: var(--ink-soft); font-size: .62rem; }
.info-tip { position: relative; z-index: 3; display: inline; padding: 1px 2px; border: 0; background: transparent; color: var(--leaf); font: inherit; font-size: .62rem; letter-spacing: 0; text-transform: none; cursor: help; }
.info-tip::after { content: attr(data-tip); position: absolute; z-index: 20; bottom: calc(100% + 9px); left: 50%; width: 240px; padding: 10px 12px; border: 1px solid var(--line-strong); background: var(--paper-deep); color: var(--ink); box-shadow: var(--shadow); font-size: .7rem; font-weight: 300; line-height: 1.5; letter-spacing: 0; text-align: left; text-transform: none; white-space: normal; opacity: 0; pointer-events: none; transform: translate(-50%,4px); transition: opacity 140ms ease, transform 140ms ease; }
.info-tip:hover::after, .info-tip:focus-visible::after { opacity: 1; transform: translate(-50%,0); }
.metric-glossary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 30px 0 0; border-top: 1px solid var(--line); }
.metric-glossary div { display: grid; grid-template-columns: 135px 1fr; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.metric-glossary div:nth-child(odd) { padding-right: 26px; }
.metric-glossary div:nth-child(even) { padding-left: 26px; border-left: 1px solid var(--line); }
.metric-glossary dt { color: var(--leaf); font-size: .72rem; }
.metric-glossary dd { margin: 0; color: var(--ink-soft); font-size: .75rem; }
.compact-table-wrap { margin-top: 30px; }
.run-table td, .run-table th { padding-inline: 18px; }
.notebook-caption { margin: 16px 0 0; color: var(--ink-soft); font-size: .72rem; }
.findings-flow { max-width: 760px; margin-top: 0; }
.findings-flow li { grid-template-columns: 110px 1fr; padding-bottom: 38px; }
.findings-flow h3 { margin: 0 0 8px; }
.challenge-list { border-top: 1px solid var(--line); }
.challenge-row { width: 100%; display: grid; grid-template-columns: 40px 190px minmax(0,1fr) auto; gap: 20px; align-items: baseline; padding: 21px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.challenge-row > span, .challenge-row em { color: var(--leaf); font-size: .68rem; font-style: normal; }
.challenge-row strong { font-size: .83rem; }
.challenge-row p { margin: 0; color: var(--ink-soft); font-size: .78rem; }
.working-notes { display: grid; gap: 10px; margin-top: 34px; }
.working-notes label { color: var(--ink-soft); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.working-notes textarea { width: 100%; resize: vertical; padding: 14px; border: 1px solid var(--line); border-radius: 0; background: var(--paper-deep); color: var(--ink); font: inherit; font-size: .8rem; line-height: 1.65; }
.working-notes textarea:focus { border-color: var(--leaf); outline: none; }
.working-notes > span { color: var(--ink-soft); font-size: .65rem; text-align: right; }

.replay-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.replay-heading h2 { margin: 6px 0 0; }
.replay-controls { display: flex; border: 1px solid var(--line); }
.replay-controls button { min-width: 42px; padding: 9px 13px; border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; }
.replay-controls button:last-child { border-right: 0; }
.replay-controls button:hover { color: var(--leaf); background: rgba(196,148,80,.08); }
.win-conditions { margin-bottom: 38px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.win-rule { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 24px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line); }
.win-rule span, .condition-item span { color: var(--ink-soft); font-size: .64rem; letter-spacing: .07em; text-transform: uppercase; }
.win-rule h3 { margin: 5px 0 0; font-size: .9rem; }
.win-rule > strong { color: var(--leaf); font-size: .76rem; font-weight: 400; }
.condition-note { margin: 14px 0; color: var(--ink-soft); font-size: .7rem; }
.condition-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.condition-item { display: grid; gap: 12px; padding: 16px 18px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
.condition-item:last-child { border-right: 0; }
.condition-item > div:first-child { display: grid; gap: 7px; }
.condition-item strong { font-size: .76rem; font-weight: 400; }
.condition-track { position: relative; height: 4px; overflow: visible; background: var(--paper-deep); }
.condition-track i { display: block; width: 0; height: 100%; background: var(--ink-soft); transition: width 220ms ease; }
.condition-track.has-threshold::after { content: ""; position: absolute; top: -3px; bottom: -3px; left: 50%; width: 1px; background: var(--leaf); }
.condition-item.is-met .condition-track i { background: var(--leaf); }
.condition-item.is-met strong { color: var(--leaf); }
.condition-item.is-inactive { opacity: .62; }
.replay-layout { display: grid; grid-template-columns: minmax(320px,540px) minmax(260px,1fr); gap: 46px; align-items: start; }
.replay-board { display: grid; grid-template-columns: repeat(10,1fr); aspect-ratio: 1; overflow: hidden; background: #332f24; border: 1px solid var(--line-strong); }
.replay-cell { position: relative; display: grid; place-items: center; border-right: 1px solid rgba(231,225,213,.08); border-bottom: 1px solid rgba(231,225,213,.08); }
.replay-cell:nth-child(5), .replay-cell:nth-child(15), .replay-cell:nth-child(25), .replay-cell:nth-child(35), .replay-cell:nth-child(45), .replay-cell:nth-child(55), .replay-cell:nth-child(65), .replay-cell:nth-child(75), .replay-cell:nth-child(85), .replay-cell:nth-child(95) { border-right: 2px solid var(--line-strong); }
.replay-cell:nth-child(n+41):nth-child(-n+50) { border-bottom: 2px solid var(--line-strong); }
.replay-cell.cell-locked { background: var(--paper); opacity: .48; }
.replay-cell.cell-melon::before, .replay-key.melon { background: var(--ochre); border-radius: 50%; }
.replay-cell.cell-strawberry::before, .replay-key.strawberry { background: var(--leaf); clip-path: polygon(50% 0,100% 35%,80% 100%,20% 100%,0 35%); }
.replay-cell.cell-wheat::before, .replay-key.wheat { width: 26%; height: 54%; background: var(--sky); border-radius: 50% 0; transform: rotate(28deg); }
.replay-cell.cell-cow::before, .replay-key.cow { background: var(--clay); border-radius: 1px; box-shadow: inset 0 0 0 2px var(--paper-deep); }
.replay-cell.cell-pasture::before { width: 58%; height: 58%; border: 1px solid var(--clay); }
.replay-cell.cell-weed::before { width: 45%; height: 1px; background: var(--ink-soft); transform: rotate(45deg); }
.replay-cell.cell-melon::before, .replay-cell.cell-strawberry::before, .replay-cell.cell-wheat::before, .replay-cell.cell-cow::before { content: ""; width: 42%; height: 42%; }
.replay-worker { position: relative; z-index: 2; width: 7px; height: 7px; margin: 1px; background: var(--paper); border: 1px solid var(--ink); border-radius: 50%; }
.replay-worker.farmer { background: var(--leaf); border-color: var(--paper); }
.replay-legend { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 14px; color: var(--ink-soft); font-size: .68rem; }
.replay-legend span { display: flex; align-items: center; gap: 7px; }
.replay-key, .replay-worker-key { display: inline-block; width: 10px; height: 10px; }
.replay-worker-key { background: var(--paper); border: 1px solid var(--ink); border-radius: 50%; }
.replay-readout { border-top: 1px solid var(--line); }
.replay-day { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.replay-day span { color: var(--leaf); font-size: .68rem; text-transform: uppercase; }
.replay-day strong { font-size: 1.35rem; font-weight: 300; }
.replay-day b { font-weight: 300; }
.replay-stats { display: grid; grid-template-columns: repeat(2,1fr); }
.replay-stats div { display: grid; gap: 5px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.replay-stats div:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--line); }
.replay-stats span, .replay-reason > span { color: var(--ink-soft); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.replay-stats strong { font-size: .9rem; }
.replay-reason { padding: 24px 0; }
.replay-reason h3 { margin: 8px 0; }
.replay-reason p, .replay-change { color: var(--ink-soft); font-size: .78rem; }
.replay-actions { margin: 0 0 16px; color: var(--leaf); font-size: .66rem; letter-spacing: .04em; }
.replay-change { margin: 0; padding-top: 16px; border-top: 1px solid var(--line); }
.replay-scrubber { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 14px; align-items: center; margin-top: 28px; color: var(--ink-soft); font-size: .65rem; }
.replay-scrubber input { width: 100%; accent-color: var(--leaf); }
.replay-log-heading { margin-top: 64px; }
.replay-table-wrap { max-height: 540px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.replay-table { min-width: 930px; }
.replay-table td { font-size: .72rem; vertical-align: top; }
.replay-day-select { padding: 2px 5px; border: 0; background: transparent; color: var(--leaf); cursor: pointer; }
.replay-day-select.is-active { color: var(--leaf-dark); background: var(--leaf); }

.section-note { max-width: 360px; margin: 0; color: var(--ink-soft); font-size: .75rem; text-align: right; }
.objective-line { display: grid; grid-template-columns: 145px minmax(220px,1fr) 1fr; gap: 30px; align-items: baseline; padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.objective-line span, .objective-measures span, .fixed-grid span, .control-boundaries span { color: var(--leaf); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.objective-line strong { font-size: 1.2rem; font-weight: 300; }
.objective-line p, .objective-measures p, .fixed-grid p, .control-boundaries p { margin: 0; color: var(--ink-soft); font-size: .76rem; }
.objective-measures { display: grid; grid-template-columns: repeat(3,1fr); }
.objective-measures div { display: grid; gap: 7px; padding: 20px 18px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); }
.objective-measures div:last-child { border-right: 0; }
.objective-measures strong, .fixed-grid strong { font-size: .84rem; }
.fixed-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--line); }
.fixed-grid div { display: grid; align-content: start; gap: 8px; min-height: 145px; padding: 20px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fixed-grid div:nth-child(4n) { border-right: 0; }
.decision-tree { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.decision-tree li { display: grid; grid-template-columns: 42px 1fr 210px; gap: 20px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--line); }
.decision-tree li > span { color: var(--leaf); font-size: .68rem; }
.decision-tree p { margin: 4px 0 0; color: var(--ink-soft); font-size: .76rem; }
.decision-tree em { color: var(--ink-soft); font-size: .68rem; font-style: normal; text-align: right; }
.policy-gates { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 34px; border-top: 1px solid var(--line); }
.policy-gates h3 { grid-column: 1 / -1; margin: 0; padding: 18px 0; border-bottom: 1px solid var(--line); }
.policy-gates div { display: grid; gap: 8px; min-height: 110px; padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.policy-gates div:nth-of-type(3n) { border-right: 0; }
.policy-gates span { color: var(--leaf); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.policy-gates p { margin: 0; color: var(--ink-soft); font-size: .74rem; }
.control-boundaries { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 34px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.control-boundaries div { display: grid; gap: 10px; padding: 20px 18px; border-right: 1px solid var(--line); }
.control-boundaries div:last-child { border-right: 0; }

.objective-fronts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 34px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.objective-fronts div { display: grid; gap: 8px; padding: 20px 18px; border-right: 1px solid var(--line); }
.objective-fronts div:last-child { border-right: 0; }
.objective-fronts span, .tension-grid > article > span, .signal-grid span, .mechanism-grid span, .attention-budget span, .submission-analysis span, .hotelling-note small { color: var(--leaf); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.objective-fronts strong { font-size: .84rem; }
.objective-fronts p, .tension-grid p, .signal-grid p, .mechanism-grid p, .attention-budget p, .submission-analysis p { margin: 0; color: var(--ink-soft); font-size: .74rem; }

.hotelling-note { padding: 28px 0 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.hotelling-note > p { max-width: 820px; margin: 24px 0 12px; color: var(--ink-soft); font-size: .82rem; line-height: 1.7; }
.hotelling-note small { display: block; color: var(--ink-soft); text-transform: none; }
.hotelling-line { display: grid; grid-template-columns: auto 1fr auto 1fr auto; gap: 14px; align-items: center; color: var(--ink-soft); font-size: .68rem; }
.hotelling-line i { height: 1px; background: linear-gradient(90deg,transparent,var(--leaf)); }
.hotelling-line i:nth-of-type(2) { background: linear-gradient(90deg,var(--leaf),transparent); }
.hotelling-line strong { padding: 8px 14px; border: 1px solid var(--line-strong); color: var(--leaf); font-weight: 400; }
.source-strip { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.source-strip a { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); color: var(--ink-soft); font-size: .7rem; text-decoration: none; }
.source-strip a:first-child { padding-right: 22px; }
.source-strip a:last-child { padding-left: 22px; border-left: 1px solid var(--line); }
.source-strip span { color: var(--leaf); }
.source-note { margin: 20px 0 0; color: var(--ink-soft); font-size: .68rem; }
.source-note a { color: var(--leaf); }

.tension-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); }
.tension-grid article { display: grid; align-content: start; gap: 10px; min-height: 180px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.tension-grid article:nth-child(even) { border-right: 0; }
.tension-grid h3 { margin: 0; font-size: .95rem; }
.tension-grid article > strong { margin-top: auto; color: var(--ink-soft); font-size: .64rem; font-weight: 300; }

.system-flow { position: relative; margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.system-flow li { display: grid; grid-template-columns: 70px minmax(0,1fr) 170px; gap: 22px; align-items: baseline; padding: 22px 0; border-bottom: 1px solid var(--line); }
.system-flow li > span { color: var(--leaf); font-size: .68rem; letter-spacing: .06em; }
.system-flow strong { font-size: .9rem; }
.system-flow p { margin: 5px 0 0; color: var(--ink-soft); font-size: .76rem; }
.system-flow em { color: var(--ink-soft); font-size: .65rem; font-style: normal; text-align: right; text-transform: uppercase; }
.signal-grid, .mechanism-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--line); }
.signal-grid article, .mechanism-grid article { display: grid; align-content: start; gap: 9px; min-height: 155px; padding: 20px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.signal-grid article:last-child, .mechanism-grid article:last-child { border-right: 0; }
.signal-grid strong, .mechanism-grid strong { font-size: .8rem; }
.mechanism-grid article[data-state="ready"] { background: rgba(136,166,115,.07); }
.mechanism-grid article[data-state="next"] { background: rgba(196,148,80,.06); }

.strategy-switchboard { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 48px; border-top: 1px solid var(--line); }
.strategy-switchboard article { display: grid; align-content: start; gap: 9px; min-height: 175px; padding: 20px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.strategy-switchboard article:last-child { border-right: 0; }
.strategy-switchboard article[data-state="active"] { background: rgba(196,148,80,.06); }
.strategy-switchboard span { color: var(--leaf); font-size: .64rem; text-transform: uppercase; }
.strategy-switchboard strong { font-size: .82rem; }
.strategy-switchboard p { margin: 0; color: var(--ink-soft); font-size: .72rem; }
.strategy-switchboard small { margin-top: auto; color: var(--ink-soft); font-size: .62rem; }

.attention-budget { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--line); }
.attention-budget article { display: grid; gap: 9px; min-height: 145px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.attention-budget article:nth-child(even) { border-right: 0; }
.attention-budget strong { font-size: .86rem; }

.submission-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; padding-bottom: 50px; }
.submission-stats article { padding: 22px; border: 1px solid var(--line); background: var(--surface); border-radius: var(--radius-md); }
.submission-stats span, .submission-stats small { display: block; color: var(--ink-soft); font-size: .7rem; }
.submission-stats span { text-transform: uppercase; letter-spacing: .08em; }
.submission-stats strong { display: block; margin: 14px 0 3px; font-size: 2rem; font-weight: 300; }
.submission-analysis { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); }
.submission-analysis article { display: grid; align-content: start; gap: 9px; min-height: 155px; padding: 20px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.submission-analysis article:last-child { border-right: 0; }
.submission-analysis strong { font-size: .86rem; }
.submission-table { min-width: 940px; }
.submission-table td { vertical-align: top; font-size: .7rem; }
.submission-table td:first-child strong, .submission-table td:first-child small { display: block; }
.submission-table td:first-child small { max-width: 220px; margin-top: 4px; color: var(--ink-soft); }
.submission-status { display: inline-block; padding: 4px 7px; border: 1px solid var(--line); color: var(--ink-soft); font-size: .6rem; text-transform: uppercase; }
.submission-status.active { border-color: rgba(136,166,115,.5); color: var(--leaf); }
.submission-status.error { border-color: rgba(190,91,79,.5); color: #c98279; }
.submission-checklist { margin-top: 0; }
.candidate-evidence { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 20px; border-top: 1px solid var(--line); }
.candidate-evidence div { display: grid; gap: 7px; padding: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.candidate-evidence div:last-child { border-right: 0; }
.candidate-evidence span { color: var(--leaf); font-size: .64rem; text-transform: uppercase; }
.candidate-evidence strong { font-size: .88rem; }
.candidate-evidence small { color: var(--ink-soft); font-size: .62rem; }

@media (max-width: 900px) {
  :root { --rail-width: 218px; --shell: min(100% - 40px, 1040px); }
  .site-header { width: var(--rail-width); padding-inline: 14px; }
  .approach-layout { grid-template-columns: 1fr; gap: 36px; }
  .run-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .run-summary div:last-child { border-right: 1px solid var(--line); }
  .run-summary div:nth-child(even) { border-right: 0; }
  .run-summary div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .metric-glossary { grid-template-columns: 1fr; }
  .metric-glossary div:nth-child(odd), .metric-glossary div:nth-child(even) { padding-inline: 0; border-left: 0; }
  .replay-layout { grid-template-columns: 1fr; }
  .replay-board { max-width: 540px; }
  .condition-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .condition-item:nth-child(2) { border-right: 0; }
  .condition-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .fixed-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fixed-grid div:nth-child(4n) { border-right: 1px solid var(--line); }
  .fixed-grid div:nth-child(2n) { border-right: 0; }
  .objective-fronts, .submission-analysis { grid-template-columns: 1fr; }
  .objective-fronts div, .submission-analysis article { border-right: 0; border-bottom: 1px solid var(--line); }
  .signal-grid, .mechanism-grid, .strategy-switchboard, .submission-stats, .candidate-evidence { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .candidate-evidence div:nth-child(even) { border-right: 0; }
  .signal-grid article:nth-child(even), .mechanism-grid article:nth-child(even), .strategy-switchboard article:nth-child(even) { border-right: 0; }
  .signal-grid article:nth-child(odd), .mechanism-grid article:nth-child(odd), .strategy-switchboard article:nth-child(odd) { border-right: 1px solid var(--line); }
  .challenge-row { grid-template-columns: 34px 170px minmax(0,1fr); }
  .challenge-row em { display: none; }
}

@media (max-width: 680px) {
  :root { --shell: min(100% - 28px, 1040px); }
  .site-header { position: relative; inset: auto; width: 100%; min-height: 0; gap: 20px; padding: 16px 14px 18px; border-right: 0; border-bottom: 1px solid var(--line); }
  .brand { padding-bottom: 14px; }
  .brand small { display: block; }
  .main-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 8px; overflow: visible; }
  .nav-group:last-child { grid-column: 1 / -1; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nav-group:last-child .nav-label { grid-column: 1 / -1; }
  .nav-link { padding: 7px 8px; font-size: .68rem; }
  .header-link { display: none; }
  main { margin-left: 0; }
  .site-footer { width: var(--shell); margin-inline: auto; padding-inline: 0; }
  .leader-entry { grid-template-columns: 1fr; gap: 16px; }
  .leader-rank { flex-direction: row; align-items: baseline; }
  .leader-rank strong { margin: 0 0 0 auto; }
  .leader-title { align-items: flex-start; flex-direction: column; gap: 8px; }
  .vertical-flow li, .approach-flow li { grid-template-columns: 1fr; gap: 7px; }
  .notebook-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
  .notebook-tab { width: 100%; padding-inline: 14px; border-bottom-color: var(--line); }
  .notebook-panel { min-height: 0; padding-top: 30px; }
  .run-summary { grid-template-columns: 1fr 1fr; }
  .run-summary div { padding: 16px 12px; }
  .metric-glossary div { grid-template-columns: 1fr; gap: 6px; }
  .replay-heading { align-items: start; flex-direction: column; }
  .win-rule { grid-template-columns: 1fr; gap: 10px; }
  .condition-grid { grid-template-columns: 1fr; }
  .condition-item, .condition-item:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .condition-item:last-child { border-bottom: 0; }
  .replay-layout { gap: 28px; }
  .replay-table-wrap { max-height: 430px; }
  .objective-line { grid-template-columns: 1fr; gap: 8px; }
  .objective-measures, .fixed-grid, .policy-gates, .control-boundaries, .tension-grid, .attention-budget, .source-strip, .signal-grid, .mechanism-grid, .strategy-switchboard, .submission-stats, .candidate-evidence { grid-template-columns: 1fr; }
  .objective-measures div, .fixed-grid div, .fixed-grid div:nth-child(4n), .fixed-grid div:nth-child(2n), .control-boundaries div { min-height: 0; border-right: 0; }
  .tension-grid article, .tension-grid article:nth-child(even), .attention-budget article, .attention-budget article:nth-child(even), .signal-grid article, .signal-grid article:nth-child(odd), .signal-grid article:nth-child(even), .mechanism-grid article, .mechanism-grid article:nth-child(odd), .mechanism-grid article:nth-child(even), .strategy-switchboard article, .strategy-switchboard article:nth-child(odd), .strategy-switchboard article:nth-child(even) { min-height: 0; border-right: 0; }
  .source-strip a:first-child, .source-strip a:last-child { padding-inline: 0; border-left: 0; }
  .candidate-evidence div { border-right: 0; }
  .hotelling-line { grid-template-columns: auto 1fr auto; }
  .hotelling-line i:nth-of-type(2), .hotelling-line span:last-child { display: none; }
  .system-flow li { grid-template-columns: 44px 1fr; gap: 8px 12px; }
  .system-flow em { grid-column: 2; text-align: left; }
  .policy-gates h3 { grid-column: 1; }
  .policy-gates div, .policy-gates div:nth-of-type(3n) { min-height: 0; border-right: 0; }
  .decision-tree li { grid-template-columns: 30px 1fr; gap: 8px 12px; }
  .decision-tree em { grid-column: 2; text-align: left; }
  .section-note { max-width: none; text-align: left; }
  .findings-flow li { grid-template-columns: 1fr; }
  .challenge-row { grid-template-columns: 28px 1fr; gap: 7px 12px; }
  .challenge-row p { grid-column: 2; }
}
