:root {
  color-scheme: dark;
  --bg: #071018;
  --panel: #0d1823;
  --panel-2: #111f2c;
  --panel-3: #152738;
  --line: #263a4c;
  --line-strong: #39536a;
  --text: #eef3f5;
  --muted: #9aabb8;
  --faint: #6f8291;
  --accent: #7dd3fc;
  --support: #72d6a0;
  --conditional: #f4c36c;
  --defer: #e28e64;
  --oppose: #e46772;
  --support-bg: rgba(114, 214, 160, 0.13);
  --conditional-bg: rgba(244, 195, 108, 0.13);
  --defer-bg: rgba(226, 142, 100, 0.13);
  --oppose-bg: rgba(228, 103, 114, 0.13);
  --shadow: 0 16px 42px rgba(0, 0, 0, 0.2);
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--bg); }
body {
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
}
button, select { font: inherit; }
button { color: inherit; }
button:focus-visible, select:focus-visible, [tabindex="0"]:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
code { color: #b9c8d2; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.78rem; }

.topbar {
  align-items: center;
  background: rgba(7, 16, 24, 0.96);
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(260px, 1fr) auto minmax(220px, 1fr);
  min-height: 70px;
  padding: 10px 22px;
  position: sticky;
  top: 0;
  z-index: 20;
}
.product-identity { align-items: center; display: flex; gap: 12px; }
.product-identity > div { display: flex; flex-direction: column; }
.product-identity strong { letter-spacing: -0.015em; }
.product-identity small { color: var(--muted); }
.product-mark {
  align-items: center;
  background: #153148;
  border: 1px solid #2e5876;
  border-radius: 9px;
  color: var(--accent);
  display: inline-flex;
  font-size: 0.72rem;
  font-weight: 900;
  height: 38px;
  justify-content: center;
  letter-spacing: 0.08em;
  width: 38px;
}
.view-tabs {
  background: #0a141e;
  border: 1px solid var(--line);
  border-radius: 10px;
  display: flex;
  padding: 3px;
}
.view-tabs button {
  background: transparent;
  border: 0;
  border-radius: 7px;
  color: var(--muted);
  cursor: pointer;
  font-size: 0.84rem;
  font-weight: 700;
  padding: 8px 14px;
}
.view-tabs button.active { background: #1d3d55; box-shadow: inset 0 -2px 0 var(--accent); color: #fff; }
.view-tabs-divider { align-self: center; background: var(--line); height: 18px; margin: 0 2px; width: 1px; }
.view-tab-secondary { color: var(--muted); font-size: 0.76rem; font-weight: 600; opacity: 0.75; }
.view-tab-secondary.active { opacity: 1; }
.runtime-status {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.72rem;
  justify-self: end;
  padding: 6px 10px;
}
.runtime-status.live { background: var(--support-bg); border-color: rgba(114, 214, 160, 0.34); color: var(--support); }
.runtime-status.unavailable { background: var(--oppose-bg); border-color: rgba(228, 103, 114, 0.34); color: var(--oppose); }
.public-shell .runtime-status { display: none; }

.loading-state, .load-error {
  margin: 15vh auto;
  max-width: 560px;
  text-align: center;
}
.loading-state { color: var(--muted); }
.load-error {
  background: var(--panel);
  border: 1px solid var(--oppose);
  border-radius: 12px;
  padding: 28px;
}
.load-error p { color: var(--muted); }

#workbench {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  min-height: calc(100vh - 70px);
}
.experiment-rail {
  align-self: start;
  background: #08131d;
  border-right: 1px solid var(--line);
  height: calc(100vh - 70px);
  overflow-y: auto;
  padding: 28px 22px;
  position: sticky;
  top: 70px;
}
.lab-rail-heading { border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 4px; padding-bottom: 18px; }
.lab-rail-heading strong { font-size: 0.94rem; margin-top: 5px; }
.lab-rail-heading small { color: var(--muted); font-size: 0.7rem; }
.lab-navigation { border-bottom: 1px solid var(--line); display: grid; gap: 5px; margin: 14px 0 22px; padding-bottom: 18px; }
.lab-navigation button { background: transparent; border: 0; border-radius: 7px; color: var(--muted); cursor: pointer; padding: 9px 10px; text-align: left; }
.lab-navigation button > span { color: inherit; display: block; font-size: 0.8rem; font-weight: 800; }
.lab-navigation button > small { color: var(--faint); display: block; font-size: 0.65rem; margin-top: 2px; }
.lab-navigation button:hover, .lab-navigation button.active { background: var(--panel-3); color: var(--text); }
.lab-navigation button.active { box-shadow: inset 3px 0 0 var(--accent); }
.lab-nav-group { display: grid; gap: 2px; margin: 5px 0; }
.lab-nav-group > span { color: var(--faint); font-size: 0.62rem; font-weight: 850; letter-spacing: 0.09em; padding: 4px 10px; text-transform: uppercase; }
.lab-nav-group button { font-size: 0.75rem; padding: 7px 10px 7px 18px; }
.rail-details { border-top: 1px solid var(--line); color: var(--muted); font-size: 0.72rem; margin-top: 20px; padding-top: 14px; }
.rail-details summary { cursor: pointer; font-weight: 800; }
.rail-details .rail-section { margin-top: 10px; }
.rail-details p { color: var(--faint); font-size: 0.68rem; }
.rail-heading h1 { font-size: 1.25rem; line-height: 1.2; margin: 7px 0 10px; }
.rail-heading p, .boundary-note p { color: var(--muted); font-size: 0.84rem; margin: 0; }
.eyebrow {
  color: var(--accent);
  font-size: 0.65rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.rail-facts {
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  display: grid;
  gap: 7px;
  margin: 24px 0;
  padding: 17px 0;
}
.rail-facts span { color: var(--muted); font-size: 0.8rem; }
.rail-facts b { color: var(--text); font-size: 1rem; margin-right: 4px; }
.rail-section { margin-top: 24px; }
.rail-section h2 { color: var(--faint); font-size: 0.68rem; letter-spacing: 0.1em; margin: 0 0 12px; text-transform: uppercase; }
.rail-section dl { margin: 0; }
.rail-section dl div { align-items: baseline; display: flex; gap: 8px; justify-content: space-between; padding: 7px 0; }
.rail-section dt { color: var(--muted); font-size: 0.76rem; }
.rail-section dd { color: var(--text); font-size: 0.72rem; font-weight: 700; margin: 0; text-align: right; }
.boundary-note { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 15px; }
.dataset-id { color: var(--faint); font-size: 0.7rem; margin-top: 24px; overflow-wrap: anywhere; }

.workspace { min-width: 0; padding: 34px clamp(22px, 3vw, 48px) 72px; }
.workspace-view { margin: 0 auto; max-width: 1680px; }
.workspace-header {
  align-items: flex-end;
  display: flex;
  gap: 28px;
  justify-content: space-between;
  margin-bottom: 28px;
}
.workspace-header h2 { font-size: clamp(1.6rem, 2.5vw, 2.3rem); letter-spacing: -0.035em; line-height: 1.12; margin: 6px 0 8px; }
.workspace-header p { color: var(--muted); margin: 0; max-width: 720px; }
.swarm-demo { margin: 0 auto; max-width: 1320px; }
.swarm-briefing { margin: 4vh auto 34px; max-width: 1020px; text-align: center; }
.swarm-label { color: var(--accent); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.09em; text-transform: uppercase; }
.swarm-briefing h2 { font-size: clamp(2rem, 4.4vw, 4rem); letter-spacing: -0.045em; line-height: 1.05; margin: 17px 0; }
.swarm-briefing > p { color: #b5c2cb; font-size: 1.02rem; line-height: 1.65; margin: 0 auto; max-width: 850px; }
.swarm-rules { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; margin-top: 24px; }
.swarm-rules span, .swarm-rules strong { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; font-size: 0.76rem; padding: 9px 12px; }
.swarm-rules b { color: var(--accent); font-size: 1rem; margin-right: 4px; }
.swarm-rules strong { border-color: rgba(114, 214, 160, 0.45); color: var(--support); }
.swarm-board { background: #0b1722; border: 1px solid var(--line-strong); border-radius: 15px; box-shadow: var(--shadow); padding: clamp(20px, 3vw, 34px); }
.swarm-board .mission-objective { margin-bottom: 20px; }
.probe-condition { margin-top: 18px; }
.probe-condition > header { align-items: center; display: flex; gap: 20px; justify-content: space-between; }
.probe-condition > header span { color: var(--faint); font-size: 0.7rem; font-weight: 800; text-transform: uppercase; }
.probe-condition h3 { font-size: clamp(1.35rem, 2.3vw, 2rem); margin: 4px 0 0; }
.swarm-outcome { border: 1px solid currentColor; border-radius: 999px; font-size: 0.76rem; padding: 7px 11px; white-space: nowrap; }
.swarm-outcome.success { color: var(--support); }
.swarm-outcome.failure { color: var(--defer); }
.condition-summary { color: var(--muted); margin: 12px 0 23px; max-width: 820px; }
.meeting-track { align-items: stretch; display: grid; grid-template-columns: repeat(7, minmax(0, auto)); }
.meeting-turn { background: #07121b; border: 1px solid var(--line); border-radius: 10px; display: flex; flex-direction: column; min-height: 150px; padding: 14px; }
.meeting-turn > span { color: var(--faint); font-size: 0.65rem; font-weight: 800; text-transform: uppercase; }
.meeting-turn > strong { font-size: 0.75rem; line-height: 1.35; margin-top: auto; }
.meeting-turn > small { color: var(--faint); font-size: 0.67rem; margin-top: 5px; }
.turn-arrow { align-self: center; color: var(--accent); font-style: normal; padding: 0 9px; }
.agent-tokens { display: flex; gap: 5px; margin: 20px 0; }
.agent-token { background: var(--faint); border-radius: 50%; display: block; height: 13px; width: 13px; }
.token-support_full { background: var(--support); }
.token-support_conditional, .token-support_reduced { background: var(--conditional); }
.token-defer { background: var(--defer); }
.token-oppose, .token-disengaged { background: var(--oppose); }
.source-console { border-top: 1px solid var(--line); margin-top: 25px; padding-top: 20px; }
.source-console > header { display: flex; justify-content: space-between; }
.source-console > header span { font-size: 0.79rem; font-weight: 850; }
.source-console > header small { color: var(--faint); }
.source-console ul { display: grid; gap: 8px; grid-template-columns: repeat(3, 1fr); list-style: none; margin: 14px 0 0; padding: 0; }
.source-console li { background: #07121b; border: 1px solid var(--line); border-radius: 9px; padding: 13px; }
.source-console li b, .source-console li span { display: block; }
.source-console li b { color: var(--accent); font-size: 0.74rem; }
.source-console li span { font-size: 0.77rem; font-weight: 800; margin-top: 4px; }
.source-console li p { color: var(--muted); font-size: 0.72rem; line-height: 1.45; margin: 8px 0 0; }
.source-console .source-silent { grid-column: 1 / -1; }
.swarm-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.quiet-link { color: var(--muted); font-size: 0.76rem; font-weight: 750; margin-left: auto; }
.probe-run-status { background: var(--panel-2); border-radius: 8px; color: var(--muted); font-size: 0.78rem; margin: 12px 0 0; padding: 11px; }
.swarm-explainer { align-items: stretch; display: grid; gap: 12px; grid-template-columns: 1fr auto 1fr auto 1fr; margin: 22px 0; }
.swarm-explainer article { align-items: flex-start; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; display: flex; gap: 12px; padding: 16px; }
.swarm-explainer article > span { align-items: center; background: #17364c; border-radius: 50%; color: var(--accent); display: flex; flex: 0 0 auto; font-size: 0.7rem; font-weight: 900; height: 25px; justify-content: center; width: 25px; }
.swarm-explainer p { color: var(--muted); font-size: 0.76rem; margin: 4px 0 0; }
.swarm-explainer > i { align-self: center; color: var(--accent); font-style: normal; }
.probe-method { border-top: 1px solid var(--line); color: var(--muted); padding: 16px 0; }
.probe-method summary { color: var(--text); cursor: pointer; font-size: 0.8rem; font-weight: 800; }
.probe-method p { font-size: 0.8rem; line-height: 1.65; max-width: 900px; }
@media (max-width: 900px) {
  .meeting-track { grid-template-columns: 1fr; }
  .turn-arrow { transform: rotate(90deg); }
  .source-console ul, .swarm-explainer { grid-template-columns: 1fr; }
  .swarm-explainer > i { transform: rotate(90deg); text-align: center; }
  .quiet-link { margin-left: 0; }
}
.guided-result #workbench { grid-template-columns: minmax(0, 1fr); }
.guided-result .experiment-rail { display: none; }
.guided-result .workspace { padding-top: 52px; }
.guided-result #mechanism-view { max-width: 1600px; }
.guided-result .runtime-status { display: none; }
.guided-result #overview-view { max-width: 1600px; }
.overview-hero { margin-bottom: 30px; max-width: 1080px; }
.overview-hero h2 { font-size: clamp(2.35rem, 4.6vw, 4.25rem); letter-spacing: -0.045em; line-height: 1.05; margin: 20px 0 22px; }
.overview-hero > p { color: #aebdc8; font-size: 1.08rem; line-height: 1.7; margin: 0; max-width: 820px; }
.overview-hero .hero-actions { margin-bottom: 0; }
.scope-note { border-left: 2px solid var(--line-strong); color: var(--faint) !important; font-size: 0.78rem !important; margin-top: 18px !important; padding-left: 12px; }
.overview-result-preview { background: linear-gradient(140deg, rgba(125, 211, 252, 0.08), transparent 44%), var(--panel); border: 1px solid var(--line-strong); border-radius: 16px; padding: clamp(24px, 4vw, 36px); }
.overview-result-heading { align-items: end; display: grid; gap: 5px 28px; grid-template-columns: minmax(0, 1fr) auto; }
.overview-result-heading h3 { font-size: clamp(1.35rem, 2.4vw, 2rem); line-height: 1.3; margin: 8px 0 0; max-width: 780px; }
.overview-result-heading p { color: var(--muted); font-size: 0.8rem; grid-column: 2; grid-row: 1 / span 2; margin: 0; }
.overview-result-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); margin-top: 24px; }
.overview-result-grid article { background: #09141d; border: 1px solid var(--line); border-radius: 10px; display: flex; flex-direction: column; gap: 7px; padding: 17px; }
.overview-result-grid span { color: var(--faint); font-size: 0.69rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.overview-result-grid strong { font-size: 0.92rem; }
.overview-result-grid b { font-size: 0.76rem; }
.preview-approved { color: var(--support); }
.preview-failed { color: var(--defer); }
.text-action { background: transparent; border: 0; color: var(--accent); cursor: pointer; font-size: 0.84rem; font-weight: 850; margin-top: 18px; padding: 0; }
.overview-causal { align-items: center; display: grid; gap: 12px; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.2fr; margin: 26px 0 0; }
.overview-causal span, .overview-causal strong { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; font-size: 0.8rem; padding: 16px; text-align: center; }
.overview-causal strong { border-color: var(--accent); }
.overview-causal i { color: var(--accent); font-style: normal; transform: rotate(-90deg); }
.overview-purpose, .theory-bridge { align-items: start; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; gap: 48px; grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr); padding: 38px 0; }
.section-kicker { color: var(--accent); font-size: 0.8rem; font-weight: 800; }
.overview-purpose h3, .theory-bridge h3, .featured-example h3 { font-size: clamp(1.35rem, 2.4vw, 2rem); line-height: 1.3; margin: 8px 0 0; }
.overview-purpose p, .theory-bridge p, .featured-example p { color: var(--muted); font-size: 0.95rem; line-height: 1.75; margin: 0; }
.capability-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 48px 0; }
.capability-grid article { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 22px; }
.capability-grid article > span { color: var(--accent); font-size: 0.8rem; font-weight: 850; }
.capability-grid h3 { font-size: 1.05rem; margin: 18px 0 8px; }
.capability-grid p { color: var(--muted); font-size: 0.84rem; line-height: 1.65; margin: 0; }
.theory-bridge { border-bottom: 0; margin-bottom: 48px; }
.experiment-hierarchy { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; }
.experiment-hierarchy strong { background: var(--panel); border: 1px solid var(--line); border-radius: 9px; font-size: 0.83rem; padding: 11px 13px; }
.experiment-hierarchy i { color: var(--accent); font-style: normal; }
.featured-example { background: linear-gradient(135deg, rgba(125, 211, 252, 0.07), transparent 48%), var(--panel); border: 1px solid var(--line-strong); border-radius: 16px; display: grid; gap: 46px; grid-template-columns: minmax(0, 1fr) minmax(340px, 0.9fr); padding: clamp(24px, 4vw, 38px); }
.featured-example-copy .secondary-cta { margin-top: 24px; }
.featured-outcomes { display: grid; gap: 10px; }
.featured-outcomes article { align-items: center; background: #09141d; border: 1px solid var(--line); border-radius: 10px; display: flex; gap: 14px; justify-content: space-between; padding: 16px; }
.featured-outcomes span { color: #b7c4cc; font-size: 0.84rem; }
.featured-outcomes strong { font-size: 0.84rem; white-space: nowrap; }
.featured-outcomes article:nth-child(2) strong { color: var(--defer); }
.featured-outcomes article:not(:nth-child(2)) strong { color: var(--support); }
.result-header { align-items: flex-start; margin-bottom: 34px; }
.result-header h2 { font-size: clamp(2.15rem, 4.4vw, 4rem); max-width: 1080px; }
.artifact-type { align-items: baseline; display: flex; flex-wrap: wrap; gap: 7px 14px; margin-bottom: 20px; }
.artifact-type strong { background: #17364b; border: 1px solid #2f607e; border-radius: 999px; color: #b9e7fb; font-size: 0.9rem; padding: 7px 12px; }
.artifact-type span { color: #bdc9d1; font-size: 0.92rem; }
.result-header .hero-question { color: var(--accent); font-size: 1.1rem; font-weight: 750; margin-top: 16px; }
.result-header .hero-stakes { color: var(--muted); font-size: 0.98rem; line-height: 1.65; margin-top: 14px; max-width: 780px; }
.experiment-in-one-line { background: var(--panel); border: 1px solid var(--line-strong); border-radius: 14px; display: grid; gap: 0; grid-template-columns: 1fr 1fr; margin-bottom: 14px; overflow: hidden; }
.experiment-in-one-line > div { padding: 20px 22px; }
.experiment-in-one-line .changed-variable { background: rgba(125, 211, 252, 0.07); border-left: 1px solid var(--line-strong); }
.experiment-in-one-line span { color: #aebdc8; display: block; font-size: 0.8rem; margin-bottom: 6px; }
.experiment-in-one-line strong { display: block; font-size: 0.98rem; line-height: 1.5; }
.outcome-strip { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); }
.outcome-strip article { align-items: center; background: #09141d; border: 1px solid var(--line); border-radius: 10px; display: flex; gap: 12px; justify-content: space-between; padding: 14px 16px; }
.outcome-strip span { color: #b7c4cc; font-size: 0.84rem; }
.outcome-strip strong { font-size: 0.84rem; white-space: nowrap; }
.outcome-strip article:nth-child(2) strong { color: var(--defer); }
.outcome-strip article:not(:nth-child(2)) strong { color: var(--support); }
.hero-actions { align-items: center; display: flex; gap: 12px; margin: 22px 0 48px; }
.primary-cta, .secondary-cta { border-radius: 9px; cursor: pointer; font-size: 0.9rem; font-weight: 850; padding: 12px 17px; text-decoration: none; }
.primary-cta { background: var(--accent); border: 0; color: #04121b; }
.secondary-cta { background: transparent; border: 1px solid var(--line-strong); color: var(--text); }
.primary-cta:focus-visible, .secondary-cta:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.legend { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.legend span, .decision-pill {
  border-radius: 999px;
  font-size: 0.67rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  padding: 5px 8px;
  text-transform: uppercase;
}
.legend-support, .decision-support { background: var(--support-bg); color: var(--support); }
.legend-conditional, .decision-conditional { background: var(--conditional-bg); color: var(--conditional); }
.legend-defer, .decision-defer { background: var(--defer-bg); color: var(--defer); }
.legend-oppose, .decision-oppose { background: var(--oppose-bg); color: var(--oppose); }

.comparison-summary {
  background: linear-gradient(115deg, rgba(125, 211, 252, 0.1), transparent 50%), var(--panel);
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  display: grid;
  gap: 16px;
  grid-template-columns: auto 1fr auto;
  margin-bottom: 18px;
  padding: 18px 20px;
}
.comparison-summary .comparison-icon {
  align-items: center;
  background: #14334a;
  border-radius: 8px;
  color: var(--accent);
  display: flex;
  font-weight: 900;
  height: 40px;
  justify-content: center;
  width: 40px;
}
.comparison-summary strong { display: block; margin-bottom: 2px; }
.comparison-summary p { color: var(--muted); font-size: 0.84rem; margin: 0; }
.comparison-summary small { align-self: center; color: var(--faint); }

.trajectory-grid { display: grid; gap: 12px; grid-template-columns: repeat(5, minmax(180px, 1fr)); }
.trajectory-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: none;
  cursor: pointer;
  min-width: 0;
  padding: 16px;
  text-align: left;
  transition: border-color 120ms ease, transform 120ms ease;
}
.trajectory-card:hover { border-color: var(--line-strong); transform: translateY(-1px); }
.trajectory-card .card-top { align-items: flex-start; display: flex; gap: 8px; justify-content: space-between; }
.trajectory-card h3 { font-size: 0.88rem; line-height: 1.3; margin: 0; }
.trajectory-card .run-code { color: var(--faint); display: block; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.63rem; margin-top: 3px; }
.outcome-badge { border-radius: 999px; font-size: 0.59rem; font-weight: 850; padding: 4px 6px; text-transform: uppercase; white-space: nowrap; }
.outcome-approved { background: var(--support-bg); color: var(--support); }
.outcome-failed { background: var(--defer-bg); color: var(--defer); }
.round-track { margin-top: 18px; }
.round-track-row { display: grid; gap: 7px; grid-template-columns: 20px 1fr; margin-top: 8px; }
.round-label { color: var(--faint); font-size: 0.63rem; }
.stacked-bar { background: #07111a; border-radius: 4px; display: flex; height: 10px; overflow: hidden; }
.bar-support { background: var(--support); }
.bar-conditional { background: var(--conditional); }
.bar-defer { background: var(--defer); }
.bar-oppose { background: var(--oppose); }
.final-line { color: var(--muted); font-size: 0.73rem; margin: 14px 0 0; }

.matrix-section, .round-overview, .environment-panel, .gate-panel, .agent-workbench, .condition-specs, .limitations-panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 12px;
  margin-top: 18px;
  padding: 20px;
}
.section-title-row { align-items: flex-end; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 16px; }
.section-title-row h3 { font-size: 1rem; margin: 3px 0 0; }
.section-title-row small { color: var(--faint); }
.table-scroll { overflow-x: auto; }
table { border-collapse: collapse; min-width: 980px; width: 100%; }
th, td { border-bottom: 1px solid var(--line); padding: 12px 10px; text-align: left; vertical-align: top; }
th { color: var(--faint); font-size: 0.65rem; letter-spacing: 0.08em; text-transform: uppercase; }
td { color: var(--muted); font-size: 0.76rem; }
tbody tr:last-child td { border-bottom: 0; }
.matrix-run { background: transparent; border: 0; color: var(--accent); cursor: pointer; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.7rem; padding: 0; text-align: left; }
.matrix-round { white-space: nowrap; }

.inspect-header { align-items: center; }
.select-control { color: var(--muted); display: flex; flex-direction: column; font-size: 0.69rem; font-weight: 800; gap: 5px; letter-spacing: 0.07em; text-transform: uppercase; }
.select-control select {
  background: var(--panel);
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  color: var(--text);
  min-width: 320px;
  padding: 10px 34px 10px 12px;
  text-transform: none;
}
.run-identity {
  align-items: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 14px 16px;
}
.run-identity strong { display: block; }
.run-identity small { color: var(--muted); }
.round-selector { align-items: center; display: flex; gap: 14px; margin: 18px 0; }
.round-selector > span { color: var(--faint); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.1em; text-transform: uppercase; }
.round-selector > div { display: flex; gap: 6px; }
.round-selector button, .group-filters button {
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--muted);
  cursor: pointer;
  font-size: 0.77rem;
  padding: 7px 11px;
}
.round-selector button.active, .group-filters button.active { background: var(--panel-3); border-color: var(--line-strong); color: var(--text); }
.decision-distribution { background: #07111a; border: 1px solid #1d3040; border-radius: 7px; display: flex; height: 34px; overflow: hidden; }
.decision-distribution > div { align-items: center; display: flex; font-size: 0.7rem; font-weight: 850; justify-content: center; min-width: 0; overflow: hidden; white-space: nowrap; }
.count-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); margin-top: 14px; }
.count-card { background: #0a151f; border: 1px solid #1e3242; border-radius: 8px; padding: 12px; }
.count-card span { color: var(--faint); display: block; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.count-card p { color: var(--muted); font-size: 0.76rem; margin: 7px 0 0; }
.inspect-grid { display: grid; gap: 18px; grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr); }
.environment-panel, .gate-panel { margin-top: 18px; }
.environment-event { background: #0a151f; border: 1px solid #203648; border-radius: 9px; padding: 13px; }
.environment-event + .environment-event { margin-top: 9px; }
.environment-event header { align-items: center; display: flex; gap: 8px; justify-content: space-between; }
.environment-event strong { font-size: 0.79rem; }
.environment-event small { color: var(--faint); }
.environment-event p { color: var(--muted); font-size: 0.78rem; margin: 8px 0 0; }
.source-badge { border: 1px solid var(--line); border-radius: 999px; color: var(--accent); font-size: 0.58rem; font-weight: 850; padding: 3px 6px; text-transform: uppercase; }
.empty-state { color: var(--muted); font-size: 0.82rem; padding: 18px 0; }
.gate-outcome { border-radius: 9px; margin-bottom: 10px; padding: 13px; }
.gate-outcome.approved { background: var(--support-bg); color: var(--support); }
.gate-outcome.failed { background: var(--defer-bg); color: var(--defer); }
.gate-outcome strong { color: inherit; display: block; }
.gate-outcome small { color: inherit; opacity: 0.8; }
.gate-check { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 8px; grid-template-columns: 18px 1fr auto; padding: 10px 2px; }
.gate-check:last-child { border-bottom: 0; }
.check-icon { align-items: center; border-radius: 50%; display: flex; font-size: 0.65rem; font-weight: 900; height: 18px; justify-content: center; width: 18px; }
.check-pass { background: var(--support-bg); color: var(--support); }
.check-fail { background: var(--defer-bg); color: var(--defer); }
.gate-check span:nth-child(2) { color: var(--muted); font-size: 0.75rem; }
.gate-check small { color: var(--faint); text-align: right; }

.agent-title-row { align-items: center; }
.group-filters { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.agent-layout { display: grid; gap: 16px; grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr); }
.agent-list { align-content: start; display: grid; gap: 7px; grid-template-columns: 1fr 1fr; }
.agent-button {
  align-items: flex-start;
  background: #0a151f;
  border: 1px solid #1f3445;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 76px;
  padding: 10px;
  text-align: left;
}
.agent-button:hover, .agent-button.active { border-color: var(--line-strong); }
.agent-button.active { background: var(--panel-3); }
.agent-button strong { font-size: 0.73rem; line-height: 1.2; }
.agent-button small { color: var(--faint); font-size: 0.64rem; }
.agent-detail { background: #0a151f; border: 1px solid #203648; border-radius: 10px; min-height: 360px; padding: 20px; }
.agent-detail-header { align-items: flex-start; display: flex; gap: 14px; justify-content: space-between; }
.agent-detail h4 { font-size: 1.12rem; margin: 3px 0; }
.agent-detail .group-label { color: var(--muted); font-size: 0.76rem; }
.stance-meta { display: flex; flex-wrap: wrap; gap: 7px; margin: 17px 0; }
.stance-meta span:not(.decision-pill) { background: var(--panel); border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 0.68rem; padding: 5px 8px; }
.rationale { border-left: 2px solid var(--accent); color: #d8e1e6; font-size: 0.91rem; margin: 0; padding: 2px 0 2px 14px; }
.interaction-trace { border-left: 2px solid var(--line-strong); display: grid; gap: 14px; margin-top: 16px; padding-left: 14px; }
.interaction-trace strong, .interaction-incoming summary { color: #d8e1e6; font-size: 0.74rem; }
.interaction-trace p { color: var(--text); font-size: 0.83rem; margin: 4px 0; }
.interaction-trace small { color: var(--muted); display: block; font-size: 0.7rem; }
.interaction-incoming summary { cursor: pointer; }
.interaction-incoming article { border-top: 1px solid var(--line); margin-top: 8px; padding-top: 8px; }
.interaction-link { background: transparent; border: 0; color: var(--accent); cursor: pointer; font: inherit; font-size: 0.74rem; margin-top: 8px; padding: 0; text-align: left; }
.interaction-link:hover { text-decoration: underline; }
.person-trajectory { border-top: 1px solid var(--line); display: grid; gap: 8px; grid-template-columns: repeat(3, 1fr); margin-top: 22px; padding-top: 17px; }
.person-round { background: transparent; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; padding: 9px; text-align: left; }
.person-round.active { background: var(--panel-3); border-color: var(--line-strong); }
.person-round small { color: var(--faint); display: block; margin-bottom: 6px; }
.person-round span { color: var(--muted); display: block; font-size: 0.67rem; margin-top: 5px; }
.evidence-id { color: var(--faint); font-size: 0.65rem; margin-top: 16px; }

.run-workbench { display: grid; gap: 16px; grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr); }
.configuration-panel, .execution-panel, .run-inputs-panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 20px;
}
.execution-panel { align-self: start; position: sticky; top: 92px; }
.condition-options { display: grid; gap: 8px; grid-template-columns: repeat(3, 1fr); }
.condition-option {
  background: #0a151f;
  border: 1px solid var(--line);
  border-radius: 9px;
  cursor: pointer;
  min-height: 128px;
  padding: 13px;
  text-align: left;
}
.condition-option:hover, .condition-option.active { border-color: var(--accent); }
.condition-option.active { background: rgba(125, 211, 252, 0.08); }
.condition-option strong { display: block; font-size: 0.78rem; margin-bottom: 7px; }
.condition-option span { color: var(--muted); display: block; font-size: 0.7rem; }
.config-heading { margin-top: 25px; }
.quiet-button, .secondary-action {
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 7px;
  cursor: pointer;
  font-size: 0.72rem;
  padding: 7px 10px;
}
.quiet-button:hover, .secondary-action:hover { border-color: var(--line-strong); }
.field-label { color: var(--muted); display: grid; font-size: 0.72rem; font-weight: 750; gap: 6px; margin-top: 13px; }
.field-label select, .field-label textarea {
  background: #07121b;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--text);
  line-height: 1.45;
  padding: 9px 10px;
  resize: vertical;
  width: 100%;
}
.shared-situation-editor, .run-inputs-panel { margin-top: 16px; }
.shared-situation-editor summary, .run-inputs-panel summary { color: var(--muted); cursor: pointer; font-size: 0.76rem; font-weight: 750; }
.control-preview { background: #09141d; border: 1px solid var(--line); border-radius: 9px; padding: 14px; }
.control-preview strong { display: block; font-size: 0.82rem; margin-bottom: 8px; }
.control-preview p { color: var(--muted); font-size: 0.76rem; margin: 0; }
.control-preview small { color: var(--accent); display: block; font-size: 0.67rem; margin-top: 10px; }
.execution-facts { display: grid; gap: 0; margin: 17px 0; }
.execution-facts div { border-bottom: 1px solid var(--line); display: flex; gap: 14px; justify-content: space-between; padding: 8px 0; }
.execution-facts dt { color: var(--faint); font-size: 0.68rem; }
.execution-facts dd { color: var(--text); font-size: 0.72rem; font-weight: 750; margin: 0; text-align: right; }
.primary-action {
  background: var(--accent);
  border: 0;
  border-radius: 8px;
  color: #04121b;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 900;
  padding: 11px 14px;
  width: 100%;
}
.primary-action:disabled { cursor: not-allowed; opacity: 0.4; }
.availability-note { color: var(--faint); font-size: 0.68rem; margin: 9px 0 0; }
.capability-badge { background: var(--panel); border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 0.7rem; padding: 6px 9px; }
.capability-badge.live { background: var(--support-bg); color: var(--support); }
.capability-badge.unavailable { background: var(--oppose-bg); color: var(--oppose); }
.live-run-status { border-top: 1px solid var(--line); margin-top: 19px; padding-top: 17px; }
.live-status-heading { align-items: center; display: flex; gap: 9px; justify-content: space-between; }
.live-status-heading code { overflow-wrap: anywhere; text-align: right; }
.progress-track { background: #07111a; border-radius: 999px; height: 8px; margin: 13px 0 9px; overflow: hidden; }
.progress-track span { background: var(--accent); display: block; height: 100%; transition: width 300ms ease; width: 0; }
.live-run-status p { color: var(--muted); font-size: 0.72rem; min-height: 2.3em; }

.result-frame {
  background: linear-gradient(145deg, rgba(125, 211, 252, 0.07), transparent 42%), var(--panel);
  border: 1px solid var(--line-strong);
  border-radius: 18px;
  box-shadow: var(--shadow);
  padding: clamp(22px, 4vw, 38px);
}
.result-frame-heading { margin-bottom: 24px; }
.result-frame-heading h3 { font-size: clamp(1.25rem, 2.2vw, 1.75rem); line-height: 1.3; margin: 7px 0 0; max-width: 850px; }
.result-sequence { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.result-card {
  background: #09141d;
  border: 1px solid var(--line);
  border-radius: 14px;
  display: flex;
  flex-direction: column;
  min-height: 320px;
  padding: 22px;
  position: relative;
}
.result-approved { border-top: 3px solid var(--support); }
.result-blocked { border-top: 3px solid var(--defer); }
.result-step { color: var(--accent); font-size: 0.82rem; font-weight: 850; }
.result-card h4 { font-size: 1.3rem; margin: 18px 0 8px; }
.result-change { color: #d5dde2; font-size: 0.86rem; font-weight: 750; }
.result-card > p { color: var(--muted); font-size: 0.84rem; line-height: 1.6; margin: 8px 0 20px; }
.result-vote { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: flex; justify-content: space-between; margin-top: auto; padding: 14px 0; }
.result-vote span { color: #9caeba; font-size: 0.78rem; }
.result-vote strong { font-size: 0.86rem; }
.result-verdict { align-items: center; display: flex; justify-content: space-between; padding-top: 14px; }
.result-verdict > span { color: #9caeba; font-size: 0.78rem; }
.outcome-badge b { font-size: 0.9rem; margin-right: 2px; }
.result-takeaway { background: rgba(125, 211, 252, 0.08); border-left: 3px solid var(--accent); border-radius: 0 10px 10px 0; margin-top: 24px; padding: 20px 22px; }
.result-takeaway span { color: var(--accent); display: block; font-size: 0.66rem; font-weight: 850; letter-spacing: 0.1em; text-transform: uppercase; }
.result-takeaway strong { display: block; font-size: 1.05rem; line-height: 1.5; margin-top: 7px; }
.result-takeaway p { color: var(--muted); font-size: 0.78rem; margin: 9px 0 0; }
.result-meaning { margin: 52px auto; max-width: 820px; text-align: center; }
.result-meaning h3 { font-size: clamp(1.4rem, 2.5vw, 2rem); line-height: 1.3; margin: 8px 0 12px; }
.result-meaning p { color: var(--muted); font-size: 0.95rem; line-height: 1.7; margin: 0; }
.run-input-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 15px; }
.run-input-grid article { background: #09141d; border: 1px solid var(--line); border-radius: 8px; padding: 13px; }
.run-input-grid article:first-child { grid-column: 1 / -1; }
.run-input-grid span { color: var(--accent); display: block; font-size: 0.62rem; font-weight: 850; letter-spacing: 0.08em; margin-bottom: 6px; text-transform: uppercase; }
.run-input-grid p { color: var(--muted); font-size: 0.73rem; margin: 0; white-space: pre-wrap; }

.method-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, 1fr); }
.method-grid section, .condition-grid article {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 20px;
}
.phase-number { color: var(--accent); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.7rem; }
.method-grid h3 { font-size: 0.94rem; margin: 15px 0 8px; }
.method-grid p, .method-grid li, .condition-grid p, .limitations-panel li { color: var(--muted); font-size: 0.8rem; }
.method-grid ul, .limitations-panel ul { margin: 0; padding-left: 18px; }
.method-grid li + li, .limitations-panel li + li { margin-top: 6px; }
.condition-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); }
.condition-grid article { background: #0a151f; }
.condition-grid p { margin: 8px 0 0; }
.provenance-panel {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 24px;
  padding-top: 20px;
}
.provenance-panel > div { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.provenance-panel span { color: var(--faint); font-size: 0.65rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.provenance-panel code { overflow-wrap: anywhere; }
.provenance-panel time, .provenance-panel strong { color: var(--muted); font-size: 0.8rem; }

/* Methodology is a calm reading surface, not another dashboard. */
#method-view:not([hidden]) { display: block; }
.guided-result #method-view { margin: 0 auto; max-width: 1180px; }
.methodology-hero { max-width: 970px; padding: 28px 0 36px; }
.methodology-hero h2 { font-size: clamp(2.4rem, 4.5vw, 4.4rem); letter-spacing: -.05em; line-height: 1.03; margin: 12px 0 18px; max-width: 17ch; }
.methodology-hero > p { color: var(--muted); font-size: 1rem; line-height: 1.75; margin: 0; max-width: 82ch; }
.methodology-principle { background: #0d1b27; border-left: 3px solid var(--accent); display: grid; gap: 8px; margin-top: 28px; padding: 17px 20px; }
.methodology-principle strong { color: var(--accent); font-size: .68rem; letter-spacing: .09em; text-transform: uppercase; }
.methodology-principle span { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .8rem; line-height: 1.6; }
.methodology-status { display: grid; gap: 5px 16px; grid-template-columns: max-content minmax(0, 1fr); margin-top: 15px; }
.methodology-status strong { color: var(--faint); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.methodology-status span { color: var(--muted); font-size: .76rem; }
.methodology-toc { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 3px 20px; margin-bottom: 20px; padding: 15px 0; }
.methodology-toc a { color: var(--muted); font-size: .74rem; font-weight: 750; padding: 5px 0; text-decoration: none; }
.methodology-toc a:hover, .methodology-toc a:focus-visible { color: var(--accent); }
.methodology-paper { margin: 0 auto; max-width: 1040px; }
.methodology-paper > section { border-top: 1px solid var(--line); display: grid; gap: 28px; grid-template-columns: 54px minmax(0, 1fr); padding: 48px 0; scroll-margin-top: 90px; }
.methodology-paper > section:first-child { border-top: 0; }
.methodology-number { color: var(--accent); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .72rem; padding-top: 6px; }
.methodology-paper h3 { font-size: clamp(1.35rem, 2.2vw, 1.9rem); letter-spacing: -.025em; margin: 0 0 16px; }
.methodology-paper p, .methodology-paper li { color: var(--muted); font-size: .91rem; line-height: 1.75; }
.methodology-paper p { margin: 0; max-width: 82ch; }
.methodology-paper p + p { margin-top: 14px; }
.methodology-paper ul { margin: 0; padding-left: 20px; }
.methodology-paper li + li { margin-top: 10px; }
.methodology-paper em { color: var(--text); }
.methodology-paper code { color: #b8dfff; }
.methodology-contracts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.methodology-contracts code { background: #0b151f; border: 1px solid var(--line); border-radius: 4px; font-size: .7rem; padding: 6px 8px; }
.methodology-pipeline { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.methodology-pipeline span { background: #102231; border: 1px solid var(--line-strong); border-radius: 5px; font-size: .72rem; font-weight: 750; padding: 8px 10px; }
.methodology-pipeline i { color: var(--accent); font-style: normal; }
.methodology-appendix { border-top: 1px solid var(--line); margin-top: 12px; padding: 30px 0 70px; }
.methodology-appendix > summary { cursor: pointer; font-size: 1rem; font-weight: 800; }
.methodology-appendix > p { margin: 12px 0 22px; }
.methodology-appendix .limitations-panel { margin-top: 12px; }

/* Technical-paper methodology surface. */
.guided-result #method-view { max-width: 1500px; }
.methodology-hero { max-width: 1120px; }
.methodology-hero h2 { max-width: 20ch; }
.methodology-map { display: grid; gap: 1px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 22px; }
.methodology-map article { background: #0b1721; border: 1px solid var(--line); display: grid; gap: 4px; padding: 14px; }
.methodology-map b { color: var(--accent); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .65rem; }
.methodology-map strong { font-size: .77rem; }
.methodology-map span { color: var(--faint); font-size: .67rem; line-height: 1.4; }
.methodology-layout { align-items: start; display: grid; gap: clamp(34px, 5vw, 76px); grid-template-columns: 220px minmax(0, 1fr); }
.methodology-toc { border: 0; border-right: 1px solid var(--line); display: grid; gap: 2px; margin: 0; padding: 20px 24px 24px 0; position: sticky; top: 90px; }
.methodology-toc > div { border-bottom: 1px solid var(--line); display: grid; gap: 3px; margin-bottom: 8px; padding: 0 8px 14px; }
.methodology-toc > div strong { font-size: .78rem; }
.methodology-toc > div span { color: var(--faint); font-size: .67rem; line-height: 1.4; }
.methodology-toc a { align-items: baseline; border-radius: 5px; display: grid; font-size: .74rem; gap: 9px; grid-template-columns: 22px 1fr; padding: 7px 8px; }
.methodology-toc a:hover, .methodology-toc a:focus-visible { background: #0d1b27; }
.methodology-toc a b { color: var(--faint); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .62rem; }
.methodology-paper { margin: 0; max-width: 1060px; min-width: 0; }
.methodology-paper > section { gap: 34px; grid-template-columns: 48px minmax(0, 1fr); padding: 62px 0; }
.methodology-paper > section:first-child { padding-top: 20px; }
.methodology-paper h3 { font-size: clamp(1.65rem, 2.5vw, 2.25rem); max-width: 28ch; }
.methodology-paper p, .methodology-paper li { font-size: .94rem; }
.methodology-section-heading { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 12px; max-width: 82ch; }
.methodology-section-heading > span:first-child { color: var(--accent); font-size: .66rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.method-status { border: 1px solid var(--line-strong); border-radius: 999px; color: var(--muted); display: inline-flex; font-size: .62rem; font-weight: 800; letter-spacing: .04em; padding: 4px 8px; text-transform: uppercase; }
.method-status.implemented { background: rgba(114, 214, 160, .08); border-color: rgba(114, 214, 160, .32); color: var(--support); }
.method-status.adopted { background: rgba(125, 211, 252, .08); border-color: rgba(125, 211, 252, .32); color: var(--accent); }
.method-status.designed { background: rgba(244, 195, 108, .08); border-color: rgba(244, 195, 108, .32); color: var(--conditional); }
.method-status.partial, .method-status.unknown { background: rgba(226, 142, 100, .08); border-color: rgba(226, 142, 100, .3); color: var(--defer); }
.method-callout { background: #0d1b27; border-left: 3px solid var(--accent); margin-top: 24px; max-width: 82ch; padding: 16px 18px; }
.method-callout.warning { border-left-color: var(--conditional); }
.method-callout strong { display: block; font-size: .83rem; margin-bottom: 5px; }
.method-callout p { font-size: .82rem; line-height: 1.6; }

.method-diagram { background: #09141e; border: 1px solid var(--line); border-radius: 10px; margin: 28px 0; overflow: hidden; padding: 22px; }
.method-diagram figcaption { border-bottom: 1px solid var(--line); display: grid; gap: 3px; margin: -2px 0 20px; padding-bottom: 15px; }
.method-diagram figcaption strong { font-size: .86rem; }
.method-diagram figcaption span { color: var(--faint); font-size: .72rem; }
.ontology-layer { align-items: center; border: 1px solid var(--line); border-radius: 7px; display: grid; gap: 14px; grid-template-columns: 155px minmax(0, 1fr); padding: 14px; }
.diagram-layer-title { display: grid; gap: 3px; }
.diagram-layer-title span { font-size: .78rem; font-weight: 850; }
.diagram-layer-title small { color: var(--faint); font-size: .65rem; line-height: 1.35; }
.diagram-node-row { display: flex; flex-wrap: wrap; gap: 7px; }
.diagram-node { background: #10202d; border: 1px solid var(--line-strong); border-radius: 5px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .66rem; padding: 7px 9px; }
.world-layer { border-left: 3px solid var(--support); }
.agency-layer { border-left: 3px solid var(--accent); }
.history-layer { border-left: 3px solid var(--conditional); }
.analysis-layer { border-left: 3px solid #b197e8; }
.diagram-down-arrow { color: var(--faint); display: grid; font-size: .62rem; justify-items: center; padding: 7px; text-align: center; }
.diagram-down-arrow::before { color: var(--accent); content: "↓"; font-size: .9rem; }
.method-commitment-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; }
.method-commitment-grid article { background: #0b1721; border: 1px solid var(--line); padding: 15px 17px; }
.method-commitment-grid strong { font-size: .8rem; }
.method-commitment-grid p { font-size: .77rem; line-height: 1.55; margin-top: 5px; }
.method-commitment-grid.evidence-properties { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.inference-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 24px 0; }
.inference-grid article { background: #0b1721; border: 1px solid var(--line); padding: 16px 18px; }
.inference-grid strong { font-size: .82rem; }
.inference-grid p { font-size: .77rem; line-height: 1.55; margin-top: 5px; }

.ontology-table-wrap { border: 1px solid var(--line); border-radius: 8px; margin: 24px 0; overflow-x: auto; }
.ontology-table { border-collapse: collapse; min-width: 740px; width: 100%; }
.ontology-table th { background: #0d1b27; color: var(--faint); font-size: .65rem; letter-spacing: .08em; padding: 11px 13px; text-align: left; text-transform: uppercase; }
.ontology-table td { border-top: 1px solid var(--line); color: var(--muted); font-size: .77rem; line-height: 1.5; padding: 11px 13px; vertical-align: top; }
.ontology-table td:first-child { width: 180px; }
.ontology-table td:last-child { color: var(--faint); }
.relation-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; }
.relation-grid article { align-items: start; background: #0b1721; border: 1px solid var(--line); display: grid; gap: 12px; grid-template-columns: 34px 1fr; padding: 17px; }
.relation-grid strong { font-size: .8rem; }
.relation-grid p { font-size: .76rem; line-height: 1.55; margin-top: 4px; }
.relation-glyph { color: var(--accent); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1.2rem; }
.relation-glyph.undirected { color: var(--faint); }
.relation-glyph.causal { color: var(--support); }
.relation-glyph.nary { color: var(--conditional); }

.person-loop, .information-chain, .transition-track, .authoring-track { align-items: stretch; display: flex; gap: 8px; }
.person-loop > div, .information-chain > div, .transition-track > div, .authoring-track > div { background: #10202d; border: 1px solid var(--line-strong); border-radius: 6px; display: grid; flex: 1 1 0; gap: 5px; min-width: 0; padding: 12px; }
.person-loop > i, .information-chain > i, .transition-track > i, .authoring-track > i { align-self: center; color: var(--accent); font-style: normal; }
.person-loop span, .information-chain span, .transition-track small, .authoring-track span { color: var(--faint); font-size: .6rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.person-loop strong, .information-chain strong, .transition-track strong, .authoring-track strong { font-size: .72rem; }
.person-loop small, .information-chain small, .transition-track span, .authoring-track small { color: var(--muted); font-size: .63rem; line-height: 1.4; }
.information-chain { flex-wrap: wrap; }
.information-chain > div { flex-basis: 110px; }
.information-chain > b { align-self: center; border-left: 1px dashed var(--conditional); color: var(--conditional); font-size: .56rem; font-weight: 800; padding: 18px 4px 18px 8px; text-transform: uppercase; }
.concept-sequence { counter-reset: method-concept; display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 24px 0; }
.concept-sequence article { background: #0b1721; border: 1px solid var(--line); display: grid; gap: 6px; padding: 16px; }
.concept-sequence article > span { color: var(--accent); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .65rem; }
.concept-sequence strong { font-size: .82rem; }
.concept-sequence p { font-size: .75rem; line-height: 1.55; }
.transition-track { overflow-x: auto; padding-bottom: 3px; }
.transition-track > div { flex: 0 0 138px; }
.transition-track > .authority-box { border-color: rgba(244, 195, 108, .45); flex-basis: 174px; }
.evidence-stack { border: 1px solid var(--line); border-radius: 8px; display: grid; grid-template-columns: repeat(5, 1fr); margin: 24px 0; overflow: hidden; }
.evidence-stack > div { border-left: 1px solid var(--line); display: grid; gap: 5px; padding: 14px; }
.evidence-stack > div:first-child { border-left: 0; }
.evidence-stack span { color: var(--accent); font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.evidence-stack strong { font-size: .72rem; }
.evidence-stack small { color: var(--faint); font-size: .61rem; line-height: 1.4; }

.resolution-choices { align-items: stretch; display: grid; gap: 16px; grid-template-columns: 1fr 32px 1fr; }
.resolution-choices > div { background: #0d1b27; border: 1px solid var(--line); border-radius: 7px; display: grid; gap: 12px; padding: 16px; }
.resolution-choices > div > span { color: var(--accent); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.resolution-choices > div > small { color: var(--muted); font-size: .68rem; line-height: 1.45; }
.resolution-choices > i { align-self: center; color: var(--faint); font-size: .68rem; font-style: normal; text-align: center; text-transform: uppercase; }
.mini-network { display: grid; gap: 7px; grid-template-columns: repeat(3, 1fr); }
.mini-network b, .surrogate-node { background: #102637; border: 1px solid var(--line-strong); border-radius: 5px; font-size: .65rem; font-weight: 750; padding: 9px; text-align: center; }
.surrogate-node { align-content: center; min-height: 86px; }
.surrogate-node small { color: var(--faint); font-size: .58rem; }
.resolution-rule { border-top: 1px solid var(--line); color: var(--conditional); display: block; font-size: .7rem; margin-top: 18px; padding-top: 14px; text-align: center; }
.coverage-key, .limitations-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; }
.coverage-key article, .limitations-grid article { background: #0b1721; border: 1px solid var(--line); display: grid; gap: 7px; padding: 16px; }
.coverage-key strong, .limitations-grid strong { font-size: .8rem; }
.coverage-key p, .limitations-grid p { font-size: .75rem; line-height: 1.55; }
.coverage { border: 1px solid var(--line-strong); border-radius: 999px; color: var(--accent); font-size: .58rem; font-weight: 850; justify-self: start; padding: 3px 7px; text-transform: uppercase; }
.coverage.coarse { color: var(--conditional); }
.coverage.inert { color: var(--faint); }
.coverage.unsupported { color: var(--oppose); }
.analysis-flow { align-items: stretch; display: grid; gap: 10px; grid-template-columns: 1fr 20px 1fr 20px 1fr; margin: 24px 0; }
.analysis-flow > div { background: #0d1b27; border: 1px solid var(--line); border-radius: 7px; display: grid; gap: 6px; padding: 15px; }
.analysis-flow > div strong { font-size: .78rem; }
.analysis-flow > div span { color: var(--muted); font-size: .66rem; line-height: 1.45; }
.analysis-flow > i { align-self: center; color: var(--accent); font-style: normal; text-align: center; }

.architecture-columns { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.architecture-column { background: #0d1b27; border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.architecture-column header { border-bottom: 1px solid var(--line); display: grid; gap: 3px; padding: 14px 16px; }
.architecture-column header span { color: var(--faint); font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.architecture-column header strong { font-size: .85rem; }
.architecture-column.adopted { border-color: rgba(125, 211, 252, .32); }
.architecture-column ol { margin: 0; padding: 6px 0; }
.architecture-column li { color: var(--text); font-size: .72rem; list-style-position: inside; padding: 8px 15px; }
.architecture-column li small { color: var(--faint); display: block; font-size: .61rem; margin-left: 19px; }
.architecture-negative { background: rgba(228, 103, 114, .07); border: 1px solid rgba(228, 103, 114, .25); border-radius: 6px; display: grid; gap: 4px; margin-top: 14px; padding: 12px 14px; }
.architecture-negative strong { color: var(--oppose); font-size: .64rem; text-transform: uppercase; }
.architecture-negative span { color: var(--muted); font-size: .7rem; }
.status-legend { align-items: center; display: grid; gap: 7px 12px; grid-template-columns: max-content 1fr; margin-top: 22px; }
.status-legend p { font-size: .72rem; line-height: 1.4; }
.method-source-ledger { border: 1px solid var(--line); border-radius: 8px; margin-top: 28px; padding: 15px 17px; }
.method-source-ledger summary { cursor: pointer; font-size: .82rem; font-weight: 800; }
.source-ledger { display: grid; margin-top: 12px; }
.source-ledger > div { border-top: 1px solid var(--line); display: grid; gap: 16px; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr); padding: 10px 0; }
.source-ledger code { overflow-wrap: anywhere; }
.source-ledger span { color: var(--muted); font-size: .72rem; }
.method-paper-note { border-top: 1px solid var(--line); color: var(--faint) !important; font-size: .7rem !important; margin-top: 22px !important; padding-top: 14px; }

/* Focused, game-loop presentation */
.lab-shell .rail-heading, .lab-shell .rail-facts, .lab-shell .dataset-id { display: none; }
.lab-shell .lab-navigation { border-bottom: 0; }
.lab-shell .rail-details { margin-top: auto; }
.rail-details button { background: transparent; border: 0; color: var(--accent); cursor: pointer; font-size: 0.7rem; padding: 8px 0; }

#overview-view:not([hidden]) { align-items: center; display: grid; gap: 36px 70px; grid-template-columns: minmax(520px, 0.9fr) minmax(480px, 1.1fr); min-height: calc(100vh - 174px); }
.overview-hero { margin: 0; }
.overview-hero h2 { font-size: clamp(3rem, 4.5vw, 4.7rem); }
.overview-result-preview { background: transparent; border: 0; padding: 0; }
.overview-result-heading { display: block; }
.overview-result-heading h3 { font-size: 1.4rem; }
.overview-result-heading p { margin-top: 8px; }
.overview-result-grid { grid-template-columns: 1fr; margin-top: 18px; }
.overview-result-grid article { background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; display: grid; gap: 8px; grid-template-columns: 1fr auto; padding: 14px 0; }
.overview-result-grid article > span { grid-column: 1 / -1; }
.overview-result-grid article > b { text-align: right; }
.overview-causal { grid-column: 1 / -1; grid-template-columns: repeat(7, auto); justify-content: center; margin: 0; }
.overview-causal span, .overview-causal strong { background: transparent; border: 0; padding: 4px 10px; }
.overview-causal i { transform: rotate(-90deg); }
.overview-builder-preview { margin: 0 auto; max-width: 660px; width: 100%; }
.overview-builder-preview h3 { font-size: 1.8rem; margin: 8px 0 22px; }
.overview-builder-preview ol { list-style: none; margin: 0; padding: 0; }
.overview-builder-preview li { align-items: start; border-bottom: 1px solid var(--line); display: grid; gap: 16px; grid-template-columns: 34px 1fr; padding: 17px 0; }
.overview-builder-preview li > b { align-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--accent); display: flex; font-size: 0.72rem; height: 30px; justify-content: center; width: 30px; }
.overview-builder-preview li strong { font-size: 0.92rem; }
.overview-builder-preview li p { color: var(--muted); font-size: 0.78rem; margin: 4px 0 0; }
.template-boundary { color: var(--faint); font-size: 0.68rem; margin: 18px 0 0; }

.mission-objective { align-items: baseline; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; gap: 18px; grid-template-columns: auto 1fr; padding: 16px 0; }
.mission-objective span { color: var(--accent); font-size: 0.65rem; font-weight: 850; letter-spacing: 0.1em; text-transform: uppercase; }
.mission-objective strong { font-size: 0.88rem; }
.environment-select { display: grid; gap: 8px; grid-template-columns: repeat(3, 1fr); margin: 22px 0 10px; }
.environment-select button { align-items: center; background: transparent; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); cursor: pointer; display: flex; gap: 10px; padding: 12px; text-align: left; }
.environment-select button b { align-items: center; border: 1px solid var(--line); border-radius: 50%; display: flex; font-size: 0.65rem; height: 24px; justify-content: center; width: 24px; }
.environment-select button span { font-size: 0.75rem; font-weight: 800; }
.environment-select button.active { background: var(--panel-3); border-color: var(--accent); color: var(--text); }

.build-progress { align-items: center; display: flex; justify-content: center; margin: 12px auto 34px; max-width: 760px; }
.build-progress button { align-items: center; background: transparent; border: 0; color: var(--faint); cursor: pointer; display: flex; gap: 8px; }
.build-progress button b { align-items: center; border: 1px solid var(--line); border-radius: 50%; display: flex; font-size: 0.7rem; height: 28px; justify-content: center; width: 28px; }
.build-progress button span { font-size: 0.75rem; font-weight: 800; }
.build-progress button.active { color: var(--text); }
.build-progress button.active b { background: var(--accent); border-color: var(--accent); color: var(--bg); }
.build-progress button.complete b { background: var(--support-bg); border-color: var(--support); color: var(--support); }
.build-progress i { background: var(--line); height: 1px; margin: 0 14px; width: 80px; }
.run-workbench { display: block; }
.configuration-panel, .execution-panel { margin: 0 auto; max-width: 900px; min-height: 430px; position: static; }
.run-workbench.review-step .configuration-panel { display: none; }
.build-screen-title { margin-bottom: 24px; }
.build-screen-title > span { color: var(--accent); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.build-screen-title h3 { font-size: 1.6rem; margin: 7px 0 0; }
.build-next, .build-back, .build-screen-actions button { border-radius: 8px; cursor: pointer; font-size: 0.82rem; font-weight: 850; padding: 11px 15px; }
.build-next { background: var(--accent); border: 0; color: var(--bg); float: right; margin-top: 20px; }
.build-back, .build-screen-actions button { background: transparent; border: 1px solid var(--line); color: var(--muted); }
.build-screen-actions { align-items: center; display: flex; justify-content: space-between; margin-top: 18px; }
.build-screen-actions .build-next { float: none; margin: 0; }
.coalition-editor-heading { align-items: end; display: flex; gap: 14px; justify-content: space-between; }
.coalition-editor-heading .field-label { flex: 1; }
.execution-panel .build-back { margin-top: 10px; width: 100%; }

/* Research case: explain the question before exposing the audit trail. */
.guided-result #case-view { margin: 0 auto; max-width: 1120px; }
/* minmax(0, 1fr) keeps the full-bleed .case-network breakout (which is wider
   than this column by design) from widening the grid track and dragging every
   sibling out with it. Without it the sticky walkthrough nav inherits the
   breakout width and pushes "Next →" off-screen at 1280-1600px. */
.research-case { display: grid; gap: 46px; grid-template-columns: minmax(0, 1fr); }
.case-walkthrough-controls { align-items: center; background: rgba(9, 18, 27, .96); border: 1px solid var(--line); border-radius: 11px; display: flex; gap: 22px; justify-content: space-between; padding: 13px 16px; position: sticky; top: 72px; z-index: 20; }
.case-walkthrough-controls > div { align-items: center; display: flex; gap: 12px; }
.case-walkthrough-controls > div:first-child { align-items: start; display: grid; gap: 3px; }
.case-walkthrough-controls span { color: var(--accent); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.case-walkthrough-controls strong { font-size: .82rem; }
.case-walkthrough-controls button { min-width: 102px; }
.case-walkthrough-controls button:disabled { opacity: .38; }
.research-case-hero { max-width: 900px; }
.research-case .case-label,
.research-case .case-section-heading > span,
.research-case-run header > span,
.case-interpretation > div > span,
.case-answer > span,
.case-waltzman > span {
  color: var(--accent);
  display: block;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.research-case-hero h2 { font-size: clamp(2.3rem, 4.5vw, 4rem); letter-spacing: -0.05em; line-height: 1.02; margin: 14px 0 22px; max-width: 19ch; }
.research-case-hero > p { color: #bdc9d2; font-size: 1.1rem; line-height: 1.65; max-width: 72ch; }
.case-answer { background: #102231; border-left: 4px solid var(--accent); border-radius: 0 12px 12px 0; padding: 28px 32px; }
.case-answer h3 { font-size: clamp(1.35rem, 2.6vw, 2rem); line-height: 1.3; margin: 9px 0 12px; max-width: 36ch; }
.case-answer p { color: var(--muted); font-size: 1rem; line-height: 1.6; margin: 0; max-width: 72ch; }
.case-story { border-top: 1px solid var(--line); padding-top: 32px; }
.case-story h3, .case-results h3, .case-interpretation h3, .case-evidence h3, .case-waltzman h3 { font-size: 1.65rem; letter-spacing: -0.025em; margin: 0 0 20px; }
.case-story ol { display: grid; gap: 28px; grid-template-columns: repeat(3, 1fr); list-style: none; margin: 0; padding: 0; }
.case-story li { display: grid; gap: 13px; grid-template-columns: 34px 1fr; }
.case-story li > b { align-items: center; background: #143049; border-radius: 50%; color: var(--accent); display: flex; height: 34px; justify-content: center; width: 34px; }
.case-story strong { display: block; font-size: 1rem; margin: 5px 0 8px; }
.case-story p { color: var(--muted); font-size: 0.88rem; line-height: 1.6; margin: 0; }
.case-section-heading { margin-bottom: 22px; }
.case-section-heading h3 { margin-top: 7px; }
.case-decision-key { color: var(--muted); font-size: 0.86rem; line-height: 1.55; margin: -8px 0 20px; }
.case-decision-key strong { color: var(--text); }
.research-case-runs { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.research-case-run { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; color: inherit; cursor: pointer; display: flex; flex-direction: column; min-height: 190px; padding: 20px; text-align: left; }
.research-case-run:hover { border-color: #526575; }
.research-case-run.active { background: #102231; border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
.research-case-run h4 { font-size: 1.2rem; line-height: 1.2; margin: 8px 0 22px; }
.research-case-run > p { color: var(--muted); min-height: 66px; }
.case-run-rounds { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; gap: 13px; margin: 8px 0 16px; padding: 17px 0; }
.case-run-round { align-items: center; display: grid; gap: 10px; grid-template-columns: 24px minmax(80px, 1fr); }
.case-run-round > b { font-size: 0.76rem; }
.case-run-round > span { color: var(--muted); font-size: 0.73rem; grid-column: 2; }
.case-result-bar { background: #1b2a36; border-radius: 4px; display: flex; height: 12px; overflow: hidden; }
.case-result-bar span { height: 100%; }
.research-case-run > small { color: var(--faint); margin-top: auto; }
.research-case-run > .case-result-bar { margin: auto 0 10px; width: 100%; }
.research-case-run > strong { font-size: 0.78rem; }
.case-data-error { border: 1px solid var(--oppose); color: var(--oppose); grid-column: 1 / -1; padding: 20px; }
.case-interpretation { border-top: 1px solid var(--line); display: block; padding-top: 32px; }
.fork-explanation { display: grid; gap: 0 32px; grid-template-columns: repeat(3, 1fr); }
.fork-explanation > div { border-top: 1px solid var(--line); padding: 16px 0 20px; }
.fork-explanation span, .fork-explanation strong, .fork-explanation small { display: block; }
.fork-explanation span { color: var(--faint); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.06em; margin-bottom: 8px; text-transform: uppercase; }
.fork-explanation strong { font-size: 0.92rem; line-height: 1.55; }
.fork-explanation .fork-verdict { background: #102231; border: 0; border-left: 3px solid var(--accent); grid-column: 1 / -1; margin-top: 8px; padding: 20px 22px; }
.fork-verdict strong { font-size: 1.08rem; }
.fork-verdict small { color: var(--muted); margin-top: 8px; }
.case-causal-lines { grid-column: 1 / -1; }
.case-causal-lines p { border-top: 1px solid var(--line); margin: 0; padding: 12px 0; }
.case-evidence { border-top: 1px solid var(--line); padding-top: 32px; }
.case-evidence > div:first-child > span { color: var(--accent); font-size: 0.74rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.case-evidence h3 { margin-top: 7px; }
#case-evidence-records, #case-cso-records { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
#case-evidence-records article, #case-cso-records article { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 20px; }
#case-evidence-records header, #case-cso-records header { align-items: center; display: flex; gap: 12px; justify-content: space-between; }
#case-evidence-records header > span, #case-cso-records header > span { font-weight: 750; }
#case-evidence-records article > strong { display: block; font-size: 0.9rem; line-height: 1.5; margin-top: 16px; }
#case-evidence-records details { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 12px; }
#case-evidence-records summary { color: var(--accent); cursor: pointer; font-size: 0.78rem; font-weight: 750; }
#case-evidence-records p, #case-cso-records p { color: var(--muted); line-height: 1.6; margin: 14px 0 0; }
.case-waltzman { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); padding: 32px 0; }
.case-waltzman h3 { margin: 8px 0 12px; }
.case-waltzman p { color: var(--muted); font-size: 1rem; line-height: 1.7; margin: 0; max-width: 78ch; }
.case-method { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 16px 18px; }
.case-method summary { cursor: pointer; font-weight: 750; }
.case-method p { color: var(--muted); line-height: 1.65; margin: 14px 0 0; max-width: 80ch; }
.case-boundary { background: var(--panel); border-left: 3px solid var(--line-strong); padding: 18px 20px; }
.case-boundary p { color: var(--muted); margin: 4px 0 0; }
.case-actions { display: flex; gap: 12px; }

/* Public product overview. */
#overview-view:not([hidden]) { display: block; min-height: 0; }
.guided-result #overview-view { margin: 0 auto; max-width: 1180px; }
.overview-hero { margin: 0; max-width: 1000px; }
.overview-hero h2 { font-size: clamp(2.7rem, 5vw, 4.8rem); max-width: 20ch; }
.overview-capabilities, .overview-influence { border-top: 1px solid var(--line); margin-top: 54px; padding-top: 34px; }
.overview-capabilities > h3, .overview-influence > h3 { font-size: clamp(1.5rem, 2.8vw, 2.2rem); letter-spacing: -0.03em; margin: 8px 0 24px; max-width: 30ch; }
.overview-capabilities > div, .overview-influence > div { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.overview-capabilities article, .overview-influence article { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 22px; }
.overview-capabilities article > strong, .overview-influence article > strong { font-size: 1.05rem; }
.overview-capabilities ul { color: var(--muted); line-height: 1.65; margin: 14px 0 0; padding-left: 18px; }
.overview-capabilities li + li { margin-top: 7px; }
.overview-influence p { color: var(--muted); line-height: 1.65; margin: 12px 0 0; }
.overview-flow { align-items: stretch; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; gap: 20px; grid-template-columns: 1fr auto 1fr auto 1fr; margin-top: 46px; padding: 30px 0; }
.overview-flow article { display: grid; gap: 12px; grid-template-columns: 30px 1fr; }
.overview-flow article > b { align-items: center; background: #143049; border-radius: 50%; color: var(--accent); display: flex; height: 30px; justify-content: center; width: 30px; }
.overview-flow strong { display: block; }
.overview-flow p { color: var(--muted); font-size: 0.82rem; margin: 5px 0 0; }
.overview-flow i { align-self: center; color: var(--accent); font-style: normal; }
.walkthrough-start { align-items: center; background: var(--panel); border: 1px solid var(--line-strong); border-radius: 10px; color: var(--text); cursor: pointer; display: grid; gap: 4px 16px; grid-template-columns: auto 1fr; margin-top: 18px; padding: 15px 18px; text-align: left; }
.walkthrough-start span { color: var(--accent); font-size: 0.7rem; font-weight: 800; grid-row: 1 / span 2; letter-spacing: 0.06em; text-transform: uppercase; }
.walkthrough-start strong { font-size: 0.9rem; }
.walkthrough-start small { color: var(--muted); font-size: 0.72rem; }

.overview-goals { border-top: 1px solid var(--line); margin-top: 54px; max-width: 980px; padding-top: 34px; }
.overview-goals > h3 { font-size: clamp(1.7rem, 3vw, 2.4rem); letter-spacing: -0.035em; margin: 8px 0 26px; }
.overview-goals > ol { counter-reset: product-goal; list-style: none; margin: 0; padding: 0; }
.overview-goals > ol > li { border-top: 1px solid var(--line); display: grid; gap: 6px 18px; grid-template-columns: 34px minmax(0, 1fr); padding: 18px 0; }
.overview-goals > ol > li::before { color: var(--accent); content: counter(product-goal, decimal-leading-zero); counter-increment: product-goal; font-size: 0.74rem; font-weight: 850; grid-row: 1 / span 2; letter-spacing: 0.08em; padding-top: 3px; }
.overview-goals li strong { font-size: 1.04rem; }
.overview-goals li p { color: var(--muted); line-height: 1.65; margin: 0; max-width: 80ch; }
.overview-purpose { border-left: 3px solid var(--accent); color: var(--muted); line-height: 1.65; margin: 26px 0 0; padding: 10px 0 10px 18px; }
.overview-purpose strong { color: var(--text); }

/* Progressive visual-language tutorial. */
#guide-view:not([hidden]) { display: grid; }
.guided-result #guide-view { margin: 0 auto; max-width: 1320px; }
.walkthrough-path { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); }
.walkthrough-path > * { align-items: center; background: var(--panel); border: 0; color: var(--muted); display: flex; font: inherit; gap: 10px; padding: 11px 14px; text-align: left; }
.walkthrough-path button { cursor: pointer; }
.walkthrough-path b { align-items: center; border: 1px solid var(--line-strong); border-radius: 50%; display: flex; flex: 0 0 auto; font-size: 0.7rem; height: 24px; justify-content: center; width: 24px; }
.walkthrough-path span { font-size: 0.76rem; font-weight: 750; }
.walkthrough-path .active { background: #173249; color: var(--text); }
.walkthrough-path .active b { background: var(--accent); border-color: var(--accent); color: #06111a; }
.guided-example { gap: 22px; }
.guide-header { align-items: end; display: flex; gap: 30px; justify-content: space-between; }
.guide-header > div { max-width: 880px; }
.guide-header h2 { font-size: clamp(1.8rem, 3vw, 2.75rem); letter-spacing: -0.04em; line-height: 1.05; margin: 9px 0 9px; max-width: 30ch; }
.guide-header p { color: var(--muted); font-size: 0.92rem; line-height: 1.55; margin: 0; max-width: 76ch; }
.guide-header > button { flex: 0 0 auto; }
.guide-stage { align-items: stretch; display: grid; gap: 18px; grid-template-columns: minmax(0, 1.55fr) minmax(330px, 0.65fr); }
.guide-visual, .guide-explanation { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; min-width: 0; overflow: hidden; }
.guide-visual > header { align-items: baseline; display: flex; gap: 10px; padding: 13px 16px; }
.guide-visual > header span, .guide-progress-label span:last-child, .guide-language > span, .guide-takeaway > span { color: var(--accent); font-size: 0.69rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.guide-visual > header strong { font-size: 0.86rem; }
.guide-graph { background: #0b151f; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); height: 580px; overflow: hidden; }
.guide-graph .cy-graph-shell { min-height: 580px; }
.guide-graph .cy-graph-canvas { min-height: 480px; }
.guide-graph .cy-graph-bar { display: none; }
.guide-loading, .guide-load-error { color: var(--muted); margin: 0; padding: 40px; }
.guide-load-error strong { color: var(--danger); }
.guide-legend { display: grid; gap: 1px; grid-template-columns: repeat(4, 1fr); }
.guide-legend > span { align-items: center; background: #0c1721; color: var(--muted); display: grid; font-size: 0.67rem; gap: 2px 7px; grid-template-columns: 10px 1fr; line-height: 1.35; min-height: 54px; padding: 8px 10px; }
.guide-legend i { border: 2px solid #57b49d; border-radius: 3px; grid-row: 1 / span 2; height: 10px; width: 10px; }
.guide-legend [data-guide-kind="person"] i { border-color: #58a6ff; }
.guide-legend [data-guide-kind="information"] i { border-color: #ef79b7; }
.guide-legend [data-guide-kind="mechanism"] i { border-color: #e8a84d; }
.guide-legend b { color: var(--text); font-size: 0.7rem; }
.guide-selection { color: var(--muted); font-size: 0.7rem; line-height: 1.5; margin: 0; min-height: 48px; max-height: 250px; overflow: auto; padding: 12px 14px; }
.guide-selection header, .create-result-network-inspector header { display: grid; gap: 3px; }
.guide-selection strong, .create-result-network-inspector strong { color: var(--text); }
.guide-selection dl, .create-result-network-inspector dl { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 10px 0 0; }
.guide-selection dl > div, .create-result-network-inspector dl > div { background: #08131c; min-width: 0; padding: 7px 9px; }
.guide-selection dt, .create-result-network-inspector dt { color: var(--faint); font-size: .61rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.guide-selection dd, .create-result-network-inspector dd { color: var(--text); font-size: .68rem; margin: 2px 0 0; overflow-wrap: anywhere; }
.guide-explanation { display: flex; flex-direction: column; padding: 24px; }
.guide-progress-label { align-items: center; display: flex; gap: 12px; justify-content: space-between; }
.guide-progress-label span:first-child { color: var(--faint); font-size: 0.72rem; font-weight: 750; }
.guide-explanation h3 { font-size: clamp(1.65rem, 2.4vw, 2.2rem); letter-spacing: -0.035em; line-height: 1.08; margin: 22px 0 12px; }
.guide-explanation > p { color: var(--muted); line-height: 1.65; margin: 0; }
.guide-step-facts { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin-top: 22px; }
.guide-step-facts > div { background: #0b151f; border: 1px solid var(--line); border-radius: 8px; padding: 10px 11px; }
.guide-step-facts span, .guide-step-facts strong { display: block; }
.guide-step-facts span { color: var(--faint); font-size: 0.64rem; letter-spacing: 0.04em; text-transform: uppercase; }
.guide-step-facts strong { font-size: 0.78rem; line-height: 1.35; margin-top: 4px; }
.guide-language { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 18px; }
.guide-language dl { margin: 12px 0 0; }
.guide-language dl > div + div { margin-top: 12px; }
.guide-language dt { font-size: 0.78rem; font-weight: 800; }
.guide-language dd { color: var(--muted); font-size: 0.72rem; line-height: 1.5; margin: 3px 0 0; }
.guide-takeaway { background: #102231; border-left: 3px solid var(--accent); display: grid; gap: 7px; margin-top: auto; padding: 14px 16px; }
.guide-takeaway strong { font-size: 0.8rem; line-height: 1.5; }
.guide-controls { align-items: center; background: #102231; border: 1px solid var(--line-strong); border-left: 4px solid var(--accent); border-radius: 10px; display: grid; gap: 18px; grid-template-columns: minmax(220px, 1fr) auto auto; padding: 12px 14px; }
.guide-controls > div:last-child { display: flex; gap: 9px; }
.guide-controls button { cursor: pointer; }
.guide-control-hint { display: grid; gap: 2px; }
.guide-control-hint strong { font-size: 0.82rem; }
.guide-control-hint span { color: var(--muted); font-size: 0.72rem; }
#guide-next { min-width: 245px; }
#guide-previous { background: transparent; border: 1px solid var(--line-strong); border-radius: 8px; color: var(--text); font-weight: 750; padding: 10px 16px; }
#guide-previous:disabled { cursor: default; opacity: 0.35; }
.guide-progress { display: flex; gap: 7px; }
.guide-progress button { background: #102231; border: 1px solid var(--line); border-radius: 50%; color: var(--muted); height: 28px; padding: 0; width: 28px; }
.guide-progress button.active { background: var(--accent); border-color: var(--accent); color: #06111a; font-weight: 900; }
.guide-provenance { border-top: 1px solid var(--line); color: var(--muted); font-size: 0.75rem; margin-top: 2px; padding-top: 12px; }
.guide-provenance summary { color: var(--faint); cursor: pointer; font-weight: 750; width: fit-content; }
.guide-provenance > div { background: #0b151f; border: 1px solid var(--line); border-radius: 10px; margin-top: 10px; max-width: 760px; padding: 14px 16px; }
.guide-provenance p { line-height: 1.55; margin: 0 0 12px; }
.guide-provenance dl { display: grid; gap: 8px; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; }
.guide-provenance dl > div { min-width: 0; }
.guide-provenance dt { color: var(--faint); font-size: 0.62rem; letter-spacing: 0.05em; text-transform: uppercase; }
.guide-provenance dd { color: var(--text); font-size: 0.72rem; margin: 3px 0 0; overflow-wrap: anywhere; }

/* Completed simulation world briefing. */
.case-world-hero { max-width: 940px; }
.case-world-hero h2 { font-size: clamp(2.4rem, 4.7vw, 4.3rem); letter-spacing: -0.05em; line-height: 1.02; margin: 14px 0 22px; max-width: 21ch; }
.case-world-hero > p { color: #bdc9d2; font-size: 1.08rem; line-height: 1.68; max-width: 76ch; }
.case-organizations { border-top: 1px solid var(--line); padding-top: 32px; }
.case-organizations h3, .case-coordination-situation h3, .case-influence-context h3, .case-experiment-intro h3 { font-size: 1.65rem; letter-spacing: -0.025em; margin: 7px 0 20px; }
.national-network-grid { display: grid; gap: 12px; grid-template-columns: repeat(4, 1fr); }
.national-network-grid article { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 20px; }
.national-network-grid article > strong { font-size: 1.05rem; }
.national-network-grid p { color: var(--muted); font-size: 0.84rem; line-height: 1.6; margin: 10px 0 16px; }
.national-network-grid small { color: var(--accent); font-size: 0.7rem; line-height: 1.5; }
.national-network-grid .regional-network { border-left: 3px solid var(--accent); grid-column: 1 / -1; }
.case-coordination-situation { background: #102231; border-left: 4px solid var(--accent); display: grid; gap: 36px; grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.75fr); padding: 28px 30px; }
.case-coordination-situation > div > span, .case-influence-context > span, .case-experiment-intro > span { color: var(--accent); display: block; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.case-coordination-situation p, .case-influence-context p, .case-experiment-intro p { color: var(--muted); line-height: 1.7; margin: 0; }
.dependency-list { border-left: 1px solid var(--line-strong); display: grid; gap: 9px; padding-left: 26px; }
.dependency-list > span { color: var(--faint); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.dependency-list strong { font-size: 0.9rem; }
.case-influence-context, .case-experiment-intro { border-top: 1px solid var(--line); padding-top: 32px; }
.case-influence-context p, .case-experiment-intro p { max-width: 78ch; }
.case-network { border-top: 1px solid var(--line); margin-left: 50%; padding-top: 32px; transform: translateX(-50%); width: min(1440px, calc(100vw - 48px)); }
.case-network > header { align-items: end; display: flex; gap: 28px; justify-content: space-between; margin: 0 auto 18px; max-width: 1180px; }
.case-network > header > div:first-child { max-width: 760px; }
.case-network > header span { color: var(--accent); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.case-network > header h3 { font-size: clamp(1.55rem, 2.8vw, 2.2rem); letter-spacing: -0.03em; margin: 7px 0 9px; }
.case-network > header p { color: var(--muted); line-height: 1.6; margin: 0; }
.case-network-tabs { background: #0a141e; border: 1px solid var(--line); border-radius: 9px; display: flex; flex: 0 0 auto; padding: 3px; }
.case-network-tabs button { background: transparent; border: 0; border-radius: 6px; color: var(--muted); cursor: pointer; font-size: 0.78rem; font-weight: 750; padding: 8px 11px; }
.case-network-tabs button.active { background: #1d3d55; color: #fff; }
.case-network-graph { align-items: center; background: #0b151f; border: 1px solid var(--line); border-radius: 12px; display: flex; height: 700px; justify-content: center; overflow: hidden; }
.case-network-graph > p { color: var(--muted); }
.case-network-graph.react-canvas-host { display: block; }
.case-network-graph .cy-graph-shell { min-height: 700px; }
.case-network-graph .cy-graph-canvas { min-height: 650px; }
.case-network-graph .cy-graph-bar { display: none; }
.case-network-footer { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.45fr); margin: 14px auto 0; max-width: 1180px; }
#case-network-status { color: var(--muted); font-size: 0.78rem; margin: 0; }
#case-network-inspector { border-left: 2px solid var(--accent); display: grid; gap: 4px; padding-left: 14px; }
#case-network-inspector strong { font-size: 0.86rem; }
#case-network-inspector span { color: var(--muted); font-size: 0.75rem; line-height: 1.5; }
.case-network-unavailable { max-width: 540px; text-align: center; }
.case-network-unavailable strong { color: var(--oppose); display: block; }

/* One automatic replay surface for every retained simulation. */
.guided-result #simulations-view { margin: 0 auto; max-width: 1480px; }
.simulation-library { display: grid; gap: 28px; }
.simulation-library-hero { max-width: 920px; }
/* This is a personal workspace, empty for every first-time visitor, so it gets
   a workspace heading rather than a landing-page hero. At the old size the
   largest type on the page announced that there was nothing on it. */
.simulation-library-hero h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); letter-spacing: -.03em; line-height: 1.12; margin: 10px 0 14px; max-width: 28ch; }
.simulation-library-hero > p { color: var(--muted); line-height: 1.7; max-width: 75ch; }
.simulation-library-hero > div { display: flex; gap: 10px; margin-top: 20px; }
.simulation-library-layout { align-items: start; display: grid; gap: 22px; grid-template-columns: 290px minmax(0, 1fr); }
.simulation-list { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; max-height: 760px; overflow-y: auto; padding: 8px; }
.simulation-list > p { color: var(--muted); font-size: .78rem; padding: 8px; }
.simulation-list button { background: transparent; border: 0; border-bottom: 1px solid var(--line); color: var(--text); cursor: pointer; display: grid; gap: 5px; padding: 14px 12px; text-align: left; width: 100%; }
.simulation-list button:last-child { border-bottom: 0; }
.simulation-list button:hover, .simulation-list button.active { background: #173249; }
.simulation-list button strong { font-size: .83rem; line-height: 1.35; }
.simulation-list button span { color: var(--accent); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.simulation-list button small { color: var(--muted); font-size: .68rem; }
.simulation-replay-host { min-width: 0; }
.simulation-replay-host .create-run-status { margin-top: 0; }
.simulation-library-empty { background: var(--panel); border-left: 3px solid var(--accent); padding: 28px; }
.simulation-library-empty p { color: var(--muted); margin-bottom: 0; }

/* Conversational typed authoring. */
.guided-result #create-view { margin: 0 auto; max-width: 1120px; }
.guided-result.authored-result #create-view { max-width: 1440px; }
.create-simulation { display: grid; gap: 22px; }
.create-hero { max-width: 900px; }
.create-hero h2 { font-size: clamp(2rem, 3.6vw, 3.4rem); letter-spacing: -0.045em; line-height: 1.03; margin: 10px 0 12px; max-width: 20ch; }
.create-hero > p { color: var(--muted); font-size: 0.95rem; line-height: 1.55; margin: 0 0 10px; max-width: 72ch; }
.create-simulation.has-draft { gap: 22px; }
.create-simulation.has-draft .create-hero h2 { font-size: clamp(2rem, 3.5vw, 3.2rem); margin-bottom: 12px; max-width: 22ch; }
.create-simulation.has-draft .create-hero > p { font-size: 0.95rem; line-height: 1.55; }
.create-flow { display: grid; gap: 1px; grid-template-columns: repeat(4, 1fr); max-width: 760px; }
.create-flow span { background: var(--panel); color: var(--muted); font-size: 0.75rem; font-weight: 750; padding: 11px 13px; }
.create-flow span.active { background: #173249; color: #fff; }
.create-composer { background: var(--panel); border: 1px solid var(--line-strong); border-radius: 14px; padding: 22px 26px; }
.create-composer > header span { color: var(--accent); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.create-composer > header h3 { font-size: 1.45rem; margin: 6px 0; }
.create-composer > header p { color: var(--muted); margin: 0 0 18px; }
.create-composer label, .create-revise label, .create-person-editor label, .create-scenario-editor label { color: var(--muted); display: grid; font-size: 0.78rem; gap: 8px; }
.create-composer label > strong, .create-revise label > strong { color: var(--text); font-size: 1.1rem; }
.create-composer textarea, .create-revise textarea, .create-person-editor textarea, .create-person-editor input, .create-person-editor select, .create-scenario-editor textarea, .create-scenario-editor input, .create-scenario-editor select { background: #07121b; border: 1px solid var(--line); border-radius: 8px; color: var(--text); font: inherit; line-height: 1.55; padding: 12px; width: 100%; }
.create-composer > div.create-chat-actions, .create-composer > div.create-example-actions { display: flex; gap: 10px; margin-top: 14px; }
.create-chat { background: #07121b; border: 1px solid var(--line); border-radius: 10px; display: grid; gap: 12px; margin-bottom: 16px; max-height: 420px; overflow-y: auto; padding: 16px; }
.create-chat article { border-radius: 10px; max-width: 78%; padding: 12px 14px; }
.create-chat article.user { background: #173249; justify-self: end; }
.create-chat article.assistant { background: #102231; justify-self: start; }
.create-chat article strong { color: var(--accent); font-size: .72rem; }
.create-chat article p { line-height: 1.55; margin: 5px 0 0; white-space: pre-wrap; }
.create-chat-actions button { min-height: 44px; }
.create-example-actions { border-top: 1px solid var(--line); padding-top: 12px; }
.create-status { color: var(--muted); margin: 14px 0 0; }
.create-review { border-top: 1px solid var(--line); padding-top: 32px; scroll-margin-top: 90px; }
.create-review.result-mode { border-top: 0; padding-top: 0; }
.create-review.result-mode > :not(.create-run-status) { display: none; }
.create-review > header { align-items: start; display: flex; gap: 24px; justify-content: space-between; }
.create-review > header span, .create-world-summary > div:first-child > span, .create-people > div:first-child > span { color: var(--accent); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.create-review > header h3 { font-size: 2rem; margin: 7px 0 8px; }
.create-review > header p { color: var(--muted); margin: 0; max-width: 72ch; }
.create-review-tabs { background: #07121b; border: 1px solid var(--line); border-radius: 12px; display: grid; gap: 1px; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 24px; overflow: hidden; padding: 4px; position: sticky; top: 8px; z-index: 16; }
.create-review-tabs button { background: transparent; border: 0; border-radius: 8px; color: var(--muted); cursor: pointer; display: grid; font: inherit; gap: 3px; min-height: 54px; padding: 8px 10px; text-align: left; }
.create-review-tabs button:hover { background: #102231; color: var(--text); }
.create-review-tabs button.active { background: var(--accent); color: #07121b; }
.create-review-tabs button span { font-size: .82rem; font-weight: 800; }
.create-review-tabs button small { font-size: .66rem; opacity: .78; }
.create-review-tabs + .create-actions { margin-top: 10px; }
.create-brief { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 24px; }
.create-brief > header { align-items: end; display: flex; gap: 30px; justify-content: space-between; }
.create-brief > header span { color: var(--accent); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.create-brief > header h3 { font-size: 1.45rem; margin: 6px 0 0; }
.create-brief > header p { color: var(--muted); font-size: 0.82rem; line-height: 1.5; margin: 0; max-width: 50ch; }
.create-brief-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 18px; }
.create-brief-grid article { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; display: flex; flex-direction: column; min-height: 220px; padding: 18px; }
.create-brief-grid article > span { color: var(--accent); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.create-brief-grid article > div { flex: 1; margin-top: 12px; }
.create-brief-grid article > div + div { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 14px; }
.create-brief-grid article > div > strong { display: block; font-size: 1rem; line-height: 1.45; }
.create-brief-grid p { color: var(--muted); font-size: 0.78rem; line-height: 1.5; margin: 7px 0 0; }
.create-brief-grid .analysis-separation-note { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 12px; }
.create-brief-grid ol { list-style: none; margin: 0; padding: 0; }
.create-brief-grid li + li { border-top: 1px solid var(--line); margin-top: 9px; padding-top: 9px; }
.create-brief-grid li strong, .create-brief-grid li span { display: block; }
.create-brief-grid li strong { font-size: 0.78rem; }
.create-brief-grid li span { color: var(--muted); font-size: 0.7rem; line-height: 1.45; margin-top: 3px; }
.create-brief-grid button { align-self: start; background: none; border: 0; color: var(--accent); cursor: pointer; font: inherit; font-size: 0.75rem; font-weight: 750; margin-top: 14px; padding: 0; text-align: left; }
.create-brief + .create-actions { margin-top: 14px; }
.draft-state { align-items: end; display: flex; flex-direction: column; flex: 0 0 auto; }
.draft-state span { color: var(--faint) !important; font-size: 0.7rem !important; }
.draft-state strong { color: var(--support); margin-top: 5px; }
.create-diagnostic { border-left: 3px solid var(--conditional); color: var(--muted); margin: 20px 0 0; padding: 10px 14px; }
.create-diagnostic strong { color: var(--text); display: block; margin-bottom: 4px; text-transform: capitalize; }
.create-diagnostic.ready { border-color: var(--support); }
.create-draft-walkthrough { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 24px; }
.create-draft-walkthrough-controls { align-items: center; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 12px; }
.create-draft-walkthrough-controls > div { align-items: center; display: flex; gap: 9px; }
.create-draft-walkthrough-controls > div:first-child { display: grid; gap: 2px; }
.create-draft-walkthrough-controls span, .create-draft-walkthrough-stage aside > span { color: var(--accent); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.create-draft-walkthrough-controls button { min-width: 105px; }
.create-draft-walkthrough-controls button:disabled { opacity: .4; }
.create-draft-walkthrough-stage { display: grid; gap: 1px; grid-template-columns: minmax(260px, .34fr) minmax(0, 1fr); min-height: 540px; }
.create-draft-walkthrough-stage > aside { background: var(--panel); display: flex; flex-direction: column; justify-content: center; padding: 26px; }
.create-draft-walkthrough-stage > aside h3 { font-size: clamp(1.3rem, 2.2vw, 2rem); letter-spacing: -.03em; line-height: 1.15; margin: 10px 0 12px; }
.create-draft-walkthrough-stage > aside > p { color: var(--muted); line-height: 1.6; }
#create-draft-network-graph { background: #0b151f; border: 1px solid var(--line); height: 500px; overflow: hidden; }
#create-draft-network-graph .cy-graph-shell { min-height: 500px; }
#create-draft-network-graph .cy-graph-canvas { min-height: 390px; }
#create-draft-network-status { color: var(--muted); font-size: .72rem; margin: 8px 12px; }
.analysis-boundary-diagram { align-items: center; display: grid; gap: 18px; grid-template-columns: 1fr auto 1fr auto 1fr; min-height: 498px; padding: 34px; }
.analysis-boundary-diagram article { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; display: grid; gap: 9px; min-height: 170px; padding: 22px; place-content: center; }
.analysis-boundary-diagram article span { color: var(--accent); font-size: .72rem; font-weight: 800; }
.analysis-boundary-diagram article strong { font-size: 1rem; }
.analysis-boundary-diagram article small { color: var(--muted); line-height: 1.5; }
.analysis-boundary-diagram > i { color: var(--faint); font-size: 1.4rem; font-style: normal; }
.create-coverage { border-bottom: 1px solid var(--line); margin-top: 18px; padding: 0 0 18px; }
.create-coverage > summary { color: var(--accent); cursor: pointer; font-weight: 750; }
.create-coverage p { display: grid; gap: 4px; margin: 14px 0 0; }
.create-coverage p span { color: var(--muted); }
.create-world-summary, .create-people, .create-revise { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 26px; }
.create-world-summary h3, .create-people h3 { font-size: 1.4rem; margin: 6px 0 18px; }
.create-stage-summary { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 26px; }
.create-stage-summary > div:first-child > span { color: var(--accent); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.create-stage-summary > div:first-child h3 { font-size: 1.45rem; margin: 6px 0 8px; }
.create-stage-summary > div:first-child p { color: var(--muted); line-height: 1.55; margin: 0; max-width: 70ch; }
.create-stage-list { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 20px; }
.create-stage-list article { background: var(--panel); border: 1px solid var(--line); border-radius: 9px; display: grid; gap: 7px; padding: 16px; }
.create-stage-list article > span { color: var(--accent); font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.create-stage-list article > strong { font-size: .94rem; line-height: 1.35; }
.create-stage-list article > p { color: var(--muted); font-size: .78rem; line-height: 1.55; margin: 0; }
.create-stage-list article > small { border-top: 1px solid var(--line); color: var(--faint); font-size: .68rem; line-height: 1.45; margin-top: 4px; padding-top: 8px; }
.create-stage-empty { color: var(--muted); }
#create-world-facts { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); }
#create-world-facts > div { background: var(--panel); border: 1px solid var(--line); border-radius: 9px; padding: 15px; }
#create-world-facts strong, #create-world-facts span { display: block; }
#create-world-facts strong { font-size: 1rem; }
#create-world-facts span { color: var(--muted); font-size: 0.72rem; margin-top: 4px; }
#create-world-groups { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); margin-top: 14px; }
#create-world-groups section { border-top: 1px solid var(--line); padding-top: 14px; }
#create-world-groups h4 { font-size: 0.82rem; margin: 0 0 10px; }
#create-world-groups ul { list-style: none; margin: 0; padding: 0; }
#create-world-groups li + li { margin-top: 10px; }
#create-world-groups li strong, #create-world-groups li span { display: block; }
#create-world-groups li strong { font-size: 0.76rem; }
#create-world-groups li span { color: var(--muted); font-size: 0.7rem; line-height: 1.45; margin-top: 3px; }
#create-people-list { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
#create-people-list article { background: var(--panel); border: 1px solid var(--line); border-radius: 9px; padding: 16px; }
#create-people-list span { color: var(--accent); display: block; font-size: 0.74rem; margin-top: 6px; }
#create-people-list p { color: var(--muted); font-size: 0.78rem; line-height: 1.55; margin: 10px 0 0; }
.create-person-editor, .create-scenario-editor, .create-raw, .create-boundary { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; margin-top: 24px; padding: 16px 18px; }
.create-person-editor > summary, .create-scenario-editor > summary, .create-raw > summary, .create-boundary > summary { cursor: pointer; font-weight: 750; }
.create-person-editor[open] { display: grid; gap: 14px; }
.create-person-editor[open] > summary { margin-bottom: 5px; }
.create-person-editor button, .create-scenario-editor button, .create-revise button { background: transparent; border: 1px solid var(--line-strong); border-radius: 8px; color: var(--text); cursor: pointer; font-weight: 750; justify-self: start; padding: 10px 14px; }
.create-scenario-editor[open] { display: grid; gap: 18px; }
.create-scenario-editor [data-general-editor-stage][hidden] { display: none; }
.create-editor-note { color: var(--muted); margin: 0; }
.create-general-recipients { border: 1px solid var(--line); border-radius: 8px; margin: 0; padding: 10px 12px; }
.create-general-recipients legend { color: var(--muted); font-size: 0.78rem; padding: 0 5px; }
.create-general-recipients > div { display: grid; gap: 7px; margin-top: 4px; }
.create-general-recipients label { align-items: center; color: var(--text); display: flex; font-size: 0.84rem; gap: 8px; }
.create-scenario-grid { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
.create-scenario-concerns { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); }
.create-scenario-concerns article { border-top: 1px solid var(--line); display: grid; gap: 10px; padding-top: 12px; }
.create-scenario-concerns article > strong { text-transform: capitalize; }
.create-network-deliveries { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.create-network-deliveries article { border: 1px solid var(--line); border-radius: 9px; display: grid; gap: 12px; padding: 14px; }
.create-network-deliveries article header { align-items: baseline; display: flex; justify-content: space-between; }
.create-network-deliveries article header small { color: var(--accent); }
.create-network-deliveries fieldset { border: 0; margin: 0; padding: 0; }
.create-network-deliveries legend { color: var(--muted); font-size: 0.78rem; margin-bottom: 8px; }
.create-network-deliveries fieldset > div { display: grid; gap: 7px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.create-network-recipient { align-items: center; color: var(--text) !important; display: flex !important; font-size: 0.75rem !important; gap: 7px !important; }
.create-network-recipient input { width: auto !important; }
.create-revise button { margin-top: 12px; }
.create-raw pre { color: #b9c8d2; font-size: 0.72rem; line-height: 1.55; max-height: 480px; overflow: auto; white-space: pre-wrap; }
.create-actions { align-items: center; background: #102231; border: 1px solid var(--line-strong); border-radius: 12px; bottom: 12px; box-shadow: 0 12px 34px #0008; display: flex; gap: 10px; margin-top: 24px; padding: 14px 16px; position: sticky; z-index: 15; }
.create-actions > div { display: grid; gap: 3px; margin-right: auto; }
.create-actions > div span { color: var(--muted); font-size: .75rem; }
.create-run-status { background: #102231; border-left: 3px solid var(--accent); margin-top: 20px; padding: 18px 20px; }
.create-run-status p { color: var(--muted); margin: 6px 0; }
.create-run-status a { color: var(--accent); }
.create-run-provenance { color: var(--muted); font-size: .75rem; margin-top: 8px; }
.create-run-provenance > summary { color: var(--accent); cursor: pointer; }
.create-run-provenance:not([open]) > p { display:none; }
.create-result { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 18px; }
.create-result h3 { font-size: 1.65rem; margin: 0 0 6px; }
.create-result h4 { margin: 24px 0 8px; }
.create-result-outcome { background:var(--panel); border-left:3px solid var(--support); display:grid; gap:7px; margin:22px 0 14px; padding:18px 20px; }
.create-result-outcome > span { color:var(--support); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.create-result-outcome > h4 { font-size:1.2rem; margin:0; }
.create-result-outcome > p { color:var(--text); line-height:1.55; margin:0; max-width:78ch; }
.create-result-outcome > small { color:var(--muted); }
.create-result-facts { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin: 14px 0 34px; }
.create-result-facts div { background: var(--panel); padding: 16px; }
.create-result-facts strong, .create-result-facts span { display: block; }
.create-result-facts span { color: var(--muted); font-size: 0.76rem; margin-top: 3px; }
.create-result-people article { border-top: 1px solid var(--line); padding: 12px 0; }
.create-result-people article > div { align-items: baseline; display: flex; gap: 10px; justify-content: space-between; }
.create-result-people article > div > div { display: grid; gap: 2px; }
.create-result-people article > div > div small { color: var(--muted); font-size: 0.78rem; }
.create-result-people article span { color: var(--accent); font-size: 0.78rem; }
.create-result-people article p { margin-bottom: 0; }
.create-result-actions { align-items: center; display: flex; gap: 12px; margin-top: 14px; }
.create-result ol { padding-left: 22px; }
.create-result li { border-bottom: 1px solid var(--line); padding: 10px 0 10px 4px; }
.create-result li > strong, .create-result li > span { display: block; }
.create-result li > span { color: var(--accent); margin-top: 3px; }
.create-result li p { margin-bottom: 0; }
.create-result-rounds { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 24px; }
.create-result-round-tabs { display: flex; gap: 8px; overflow-x: auto; }
.create-result-round-tabs button { background: transparent; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); cursor: pointer; display: grid; flex: 1 0 180px; gap: 5px; padding: 12px; text-align: left; }
.create-result-round-tabs button.active { background: #173249; border-color: var(--accent); color: #fff; }
.create-result-round-tabs button span { font-size: 0.72rem; font-weight: 800; text-transform: uppercase; }
.create-result-round-tabs button strong { font-size: 0.8rem; }
.create-result-round { margin-top: 18px; }
.create-result-round-intro { display: grid; gap: 5px; margin-bottom: 18px; }
.create-result-round-intro span { color: var(--accent); font-size: 0.72rem; font-weight: 800; text-transform: uppercase; }
.create-result-round-intro strong { font-size: 1.25rem; }
.create-result-round-columns { display: grid; gap: 28px; grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr); }
.create-result-round-columns h5, .create-result-analysis h5 { font-size: 0.78rem; margin: 0 0 10px; text-transform: uppercase; }
.create-result-round-columns article { border-top: 1px solid var(--line); padding: 13px 0; }
.create-result-round-columns article > span, .create-result-round-columns article > small { color: var(--muted); display: block; font-size: 0.72rem; }
.create-result-round-columns article > strong { display: block; margin: 4px 0; }
.create-result-round-columns article p { color: var(--muted); font-size: 0.8rem; line-height: 1.55; margin: 6px 0 0; }
.create-result-round-columns article p b { color: var(--text); }
.create-result-round-columns article header { align-items: center; display: flex; gap: 12px; justify-content: space-between; }
.create-result-no-change { color: var(--muted); }
.create-replay { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 22px; }
.create-replay-controls { align-items: center; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 14px; }
.create-replay-controls > div { align-items: center; display: flex; gap: 9px; }
.create-replay-controls > div:first-child { display: grid; gap: 2px; }
.create-replay-controls span, .create-replay-explanation > span { color: var(--accent); font-size: 0.7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.create-replay-controls button { min-width: 110px; }
.create-replay-controls button:disabled { cursor: default; opacity: .4; }
.create-replay-stage { display: grid; gap: 1px; grid-template-columns: minmax(250px, .34fr) minmax(0, 1fr); min-height: 620px; }
.create-replay-stage.cognition-stage { height: min(760px, calc(100vh - 180px)); min-height: 620px; }
.create-replay-stage.cognition-stage .create-replay-explanation { justify-content: flex-start; overflow-y: auto; }
.create-replay-explanation { background: var(--panel); display: flex; flex-direction: column; justify-content: center; padding: 28px; }
.create-replay-explanation h4 { font-size: clamp(1.35rem, 2.4vw, 2.15rem); letter-spacing: -.03em; line-height: 1.12; margin: 10px 0 12px; }
.create-replay-explanation > p { color: var(--muted); line-height: 1.65; }
.create-replay-explanation dl { display: grid; gap: 1px; margin: 18px 0; }
.create-replay-explanation dl div { background: #0d1b27; padding: 11px 12px; }
.create-replay-explanation dt { color: var(--muted); font-size: .68rem; }
.create-replay-explanation dd { font-size: .82rem; font-weight: 750; margin: 4px 0 0; }
.create-replay-explanation dl.cognition-facts dd { font-weight: 500; line-height: 1.55; }
.cognition-person-tabs dd { display: grid; gap: 6px; grid-template-columns: 1fr 1fr; }
.cognition-person-tabs button { background: transparent; border: 1px solid var(--line); color: var(--muted); font-size: .7rem; margin: 0; min-width: 0; padding: 8px; text-align: left; }
.cognition-person-tabs button.active { background: #16314a; border-color: var(--accent); color: var(--text); }
.create-replay-explanation button { align-self: start; margin-top: 8px; }
.create-result-network { min-width: 0; }
.create-result-network > #create-result-network-status { color: var(--muted); font-size: 0.72rem; margin: 8px 12px; }
#create-result-network-graph { background: #0b151f; border: 1px solid var(--line); height: 560px; overflow: hidden; }
#create-result-network-graph .cy-graph-shell { min-height: 560px; }
#create-result-network-graph .cy-graph-canvas { min-height: 450px; }
.create-result-no-graph { color: var(--muted); margin: auto; max-width: 30ch; text-align: center; }
.create-result-network-inspector { border-left: 2px solid var(--accent); color: var(--muted); display: grid; font-size: 0.78rem; gap: 3px; line-height: 1.5; margin: 12px 0 0; max-height: 360px; overflow: auto; padding-left: 12px; }
.create-result-analysis { border-top: 1px solid var(--line); margin-top: 32px; padding-top: 18px; }
.create-result-lenses { border-top:1px solid var(--line); margin-top:24px; padding-top:18px; }
.create-result-lenses > summary { align-items:center; cursor:pointer; display:flex; justify-content:space-between; list-style:none; }
.create-result-lenses > summary::-webkit-details-marker { display:none; }
.create-result-lenses > summary::after { color:var(--accent); content:'Open'; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.create-result-lenses[open] > summary::after { content:'Close'; }
.create-result-lenses > summary > span { color:var(--muted); font-size:.76rem; font-weight:400; margin-left:auto; margin-right:18px; }
.create-result-lenses-body { display:grid; gap:10px; padding-top:16px; }
.create-result-lenses:not([open]) > .create-result-lenses-body { display:none; }
.create-result-lenses-body > p { color:var(--muted); line-height:1.55; margin:0; max-width:72ch; }
.create-experiment-panel { border-top:1px solid var(--line); margin-top:24px; padding-top:18px; }
.create-experiment-panel > header { align-items:end; display:flex; gap:30px; justify-content:space-between; }
.create-experiment-panel > header span { color:var(--accent); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.create-experiment-panel > header h3 { font-size:1.15rem; margin:6px 0 0; }
.create-experiment-panel > header p { color:var(--muted); font-size:.82rem; line-height:1.5; margin:0; max-width:50ch; }
.create-experiment-conditions { border:0; display:flex; flex-wrap:wrap; gap:14px; margin:14px 0; padding:0; }
.create-experiment-conditions legend { color:var(--muted); font-size:.76rem; margin-bottom:6px; text-transform:uppercase; }
.create-experiment-conditions label { align-items:center; display:flex; gap:6px; }
.create-experiment-results { display:grid; gap:10px; margin-top:14px; }
.create-experiment-condition-row { align-items:center; background:var(--panel); border:1px solid var(--line); border-radius:10px; display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; padding:12px 16px; }
.create-experiment-condition-row strong { font-size:.9rem; }
.create-experiment-condition-row span { color:var(--muted); font-size:.78rem; }
.create-experiment-condition-row[data-status="failed"] span { color:var(--danger, #d64545); }
.create-experiment-condition-row[data-status="completed"] span { color:var(--support); }
#create-result-lens-list { display:grid; gap:12px; }
.analysis-lens { background:var(--panel); border:1px solid var(--line); border-radius:12px; display:grid; gap:16px; padding:20px; }
.analysis-lens > header { display:grid; gap:6px; }
.analysis-lens > header > div,.create-result-lens-actions { align-items:center; display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; }
.analysis-lens > header strong { font-size:1.15rem; }
.analysis-lens > header span { color:var(--support); font-size:.72rem; font-weight:800; text-transform:uppercase; }
.analysis-lens > header p { color:var(--muted); line-height:1.5; margin:0; }
.analysis-findings { display:grid; gap:8px; }
.analysis-finding { background:#07121b; border:1px solid var(--line); border-radius:9px; }
.analysis-finding.primary { border-color:var(--accent); }
.analysis-finding > summary { align-items:center; cursor:pointer; display:flex; gap:18px; justify-content:space-between; list-style:none; padding:14px 16px; }
.analysis-finding > summary::-webkit-details-marker { display:none; }
.analysis-finding > summary > span { display:grid; gap:4px; }
.analysis-finding > summary strong { font-size:.9rem; }
.analysis-finding > summary small { color:var(--muted); font-size:.72rem; line-height:1.45; }
.analysis-finding > summary em { color:var(--accent); font-size:.68rem; font-style:normal; font-weight:800; text-transform:uppercase; white-space:nowrap; }
.analysis-finding-body { border-top:1px solid var(--line); display:grid; gap:16px; padding:16px; }
.analysis-finding-values { display:grid; gap:7px; margin:0; }
.analysis-finding-values > div { display:grid; gap:5px; grid-template-columns:minmax(150px,.38fr) minmax(0,1fr); }
.analysis-finding-values dt { color:var(--muted); font-size:.74rem; }
.analysis-finding-values dd { color:var(--accent-bright); margin:0; overflow-wrap:anywhere; }
.analysis-finding-values .analysis-value-summary { background:#102231; border-radius:7px; display:block; padding:12px; }
.analysis-finding-values .analysis-value-summary dt { color:var(--accent); font-weight:800; margin-bottom:5px; text-transform:uppercase; }
.analysis-finding-values.depth-1 > div,.analysis-finding-values.depth-2 > div { border-top:1px solid var(--line); grid-template-columns:minmax(130px,.32fr) minmax(0,1fr); padding-top:6px; }
.analysis-trajectory-summary { display:grid; gap:8px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.analysis-trajectory-summary article { background:var(--panel); border:1px solid var(--line); border-radius:8px; display:grid; gap:7px; padding:11px; }
.analysis-trajectory-summary article > span { color:var(--muted); font-size:.7rem; line-height:1.35; }
.analysis-trajectory-summary article > div { align-items:center; display:flex; gap:8px; }
.analysis-trajectory-summary article strong { color:var(--accent-bright); font-size:1rem; }
.analysis-trajectory-summary article i { color:var(--muted); font-style:normal; }
.analysis-trajectory-summary article small { color:var(--muted); font-size:.66rem; }
.analysis-summary-copy { background:#102231; border-radius:7px; color:var(--text); font-size:.84rem; line-height:1.5; margin:0; padding:12px; }
.analysis-summary-data > summary { color:var(--accent); cursor:pointer; font-size:.72rem; }
.analysis-summary-data > .analysis-finding-values { padding-top:10px; }
.analysis-value-list { display:grid; gap:8px; list-style:none; margin:0; padding:0; }
.analysis-value-list > li { background:var(--panel); border:1px solid var(--line); border-radius:7px; padding:10px; }
.analysis-finding-boundary { border-top:1px solid var(--line); color:var(--muted); display:grid; gap:7px; padding-top:12px; }
.analysis-finding-boundary > strong { color:var(--text); font-size:.78rem; }
.analysis-finding-boundary p,.analysis-finding-boundary ul { font-size:.72rem; line-height:1.5; margin:0; }
.analysis-finding-boundary details summary { color:var(--accent); cursor:pointer; font-size:.7rem; }
.analysis-finding-boundary details p { overflow-wrap:anywhere; padding-top:7px; }
.analysis-lens-method { border-top:1px solid var(--line); padding-top:12px; }
.analysis-lens-method > summary { color:var(--accent); cursor:pointer; font-size:.78rem; font-weight:750; }
.analysis-lens-method p,.analysis-lens-method li { color:var(--muted); font-size:.75rem; line-height:1.5; }
.analysis-lens-method p strong { color:var(--text); display:block; }
.create-result-analysis summary, .create-result > details > summary { cursor: pointer; font-weight: 750; }
.create-result-analysis p, .create-result-analysis li { color: var(--muted); line-height: 1.55; }
.create-result-complete { border-top: 1px solid var(--line); margin-top: 34px; padding-top: 18px; }
.create-result-complete > summary { cursor: pointer; font-size: .9rem; font-weight: 750; }
.create-boundary { color: var(--muted); margin: 0; }
.create-boundary p { line-height: 1.6; }
.create-boundary button { background: transparent; border: 0; color: var(--accent); cursor: pointer; padding: 0; }

@media (max-width: 1180px) {
  .topbar { grid-template-columns: 1fr auto; }
  .runtime-status { display: none; }
  .trajectory-grid { grid-template-columns: repeat(3, 1fr); }
  .condition-options { grid-template-columns: 1fr; }
  .guide-stage { grid-template-columns: minmax(0, 1.35fr) minmax(310px, 0.65fr); }
}

@media (max-width: 860px) {
  .topbar { gap: 10px; grid-template-columns: 1fr; padding: 10px 14px; position: static; }
  .view-tabs { overflow-x: auto; width: 100%; }
  .view-tabs button { flex: 1 0 auto; }
  #workbench { grid-template-columns: 1fr; }
  .experiment-rail { border-bottom: 1px solid var(--line); border-right: 0; height: auto; overflow: visible; padding: 20px 16px; position: static; }
  .lab-navigation { display: flex; overflow-x: auto; }
  .lab-navigation > button, .lab-nav-group button { flex: 0 0 auto; }
  .lab-nav-group { display: flex; }
  .lab-nav-group > span { display: none; }
  .rail-facts { grid-template-columns: repeat(3, 1fr); }
  .rail-section, .dataset-id { display: none; }
  .workspace { padding: 24px 14px 56px; }
  .workspace-header { align-items: stretch; flex-direction: column; }
  .legend { justify-content: flex-start; }
  .trajectory-grid { grid-template-columns: 1fr 1fr; }
  .inspect-header { align-items: stretch; }
  .select-control select { min-width: 0; width: 100%; }
  .inspect-grid, .agent-layout, .method-grid, .run-workbench { grid-template-columns: 1fr; }
  .execution-panel { position: static; }
  .create-draft-walkthrough-stage { grid-template-columns: 1fr; }
  .create-review-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); position: static; }
  .create-stage-list { grid-template-columns: 1fr; }
  .analysis-boundary-diagram { grid-template-columns: 1fr; padding: 22px; }
  .analysis-boundary-diagram > i { text-align: center; transform: rotate(90deg); }
  .create-actions { align-items: stretch; bottom: 6px; flex-direction: column; }
  .create-actions > div { margin: 0; }
  .result-sequence { grid-template-columns: 1fr; }
  .overview-result-heading { display: block; }
  .overview-result-heading p { margin-top: 8px; }
  .overview-result-grid { grid-template-columns: 1fr; }
  .overview-causal { grid-template-columns: 1fr; }
  .overview-causal i { transform: none; text-align: center; }
  #overview-view:not([hidden]) { display: block; min-height: 0; }
  .overview-result-preview { margin-top: 36px; }
  .overview-capabilities > div, .overview-influence > div, .national-network-grid { grid-template-columns: 1fr 1fr; }
  .overview-flow { grid-template-columns: 1fr; }
  .overview-flow i { text-align: center; transform: rotate(90deg); }
  .walkthrough-path { grid-template-columns: 1fr; }
  .case-coordination-situation { grid-template-columns: 1fr; }
  .research-case { padding-bottom: 132px; }
  .case-walkthrough-controls { align-items: stretch; bottom: 12px; flex-direction: column; left: 12px; position: fixed; right: 12px; top: auto; }
  .case-walkthrough-controls > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .case-network > header { align-items: start; flex-direction: column; }
  .case-network-footer { grid-template-columns: 1fr; }
  .dependency-list { border-left: 0; border-top: 1px solid var(--line-strong); padding-left: 0; padding-top: 18px; }
  #create-world-facts, #create-world-groups { grid-template-columns: 1fr 1fr; }
  .create-review > header { flex-direction: column; }
  .draft-state { align-items: start; }
  .environment-select { grid-template-columns: 1fr; }
  .build-progress i { width: 28px; }
  .configuration-panel, .execution-panel { min-height: 0; }
  .regional-dependency { grid-column: auto; }
  .research-case { gap: 38px; }
  .research-case-runs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-story ol, .fork-explanation, .case-interpretation, #case-evidence-records, #case-cso-records { grid-template-columns: 1fr; }
  .case-mechanism > div { align-items: stretch; grid-template-columns: 1fr; }
  .case-mechanism i { transform: rotate(90deg); width: min-content; }
  .case-causal-lines { grid-column: auto; }
  .fork-readout { grid-template-columns: 1fr; }
  .case-actions { align-items: stretch; flex-direction: column; }
  .causal-path { align-items: start; grid-template-columns: 1fr; }
  .causal-path i { transform: rotate(90deg); width: min-content; }
  .overview-purpose, .theory-bridge, .featured-example { grid-template-columns: 1fr; }
  .capability-grid { grid-template-columns: 1fr 1fr; }
  .experiment-in-one-line { grid-template-columns: 1fr; }
  .experiment-in-one-line .changed-variable { border-left: 0; border-top: 1px solid var(--line-strong); }
  .outcome-strip { grid-template-columns: 1fr; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .guide-header { align-items: stretch; flex-direction: column; }
  .guide-controls { grid-template-columns: 1fr auto; }
  .guide-control-hint { grid-column: 1 / -1; }
  .guide-stage { grid-template-columns: 1fr; }
  .simulation-library-layout { grid-template-columns: 1fr; }
  .simulation-list { display: flex; max-height: none; overflow-x: auto; padding: 4px; }
  .simulation-list button { border-bottom: 0; border-right: 1px solid var(--line); flex: 0 0 240px; }
  .create-replay-stage { grid-template-columns: 1fr; }
  .create-replay-explanation { min-height: 320px; }
  .guide-explanation { min-height: 560px; }
  .methodology-paper > section { gap: 18px; grid-template-columns: 38px minmax(0, 1fr); padding: 38px 0; }
  .primary-cta, .secondary-cta { text-align: center; width: 100%; }
  .result-card { min-height: 0; }
  .condition-grid { grid-template-columns: 1fr; }
  .count-grid { grid-template-columns: 1fr; }
  .agent-list { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .research-case-runs { grid-template-columns: 1fr; }
  .simulation-library-hero > div { align-items: stretch; flex-direction: column; }
  .overview-capabilities > div, .overview-influence > div, .national-network-grid, #create-world-facts, #create-world-groups, .create-brief-grid { grid-template-columns: 1fr; }
  .create-brief > header { align-items: start; flex-direction: column; gap: 8px; }
  .national-network-grid .regional-network { grid-column: auto; }
  .create-simulation { gap: 16px; }
  .create-hero h2 { font-size: 2.35rem; margin: 7px 0 9px; }
  .create-hero > p { font-size: 0.83rem; line-height: 1.42; margin-bottom: 7px; }
  .create-composer { padding: 17px; }
  .create-composer textarea { max-height: 116px; }
  .create-composer > div, .create-actions { align-items: stretch; flex-direction: column; }
  .create-review-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .create-flow { grid-template-columns: repeat(4, 1fr); }
  .create-flow span { font-size: 0.66rem; padding: 9px 6px; text-align: center; }
  .create-replay-controls { align-items: stretch; flex-direction: column; }
  .create-replay-controls > div:last-child { display: grid; grid-template-columns: .7fr 1.3fr; }
  .create-result-facts { grid-template-columns: 1fr 1fr; }
  .create-scenario-grid, .create-scenario-concerns, .create-network-deliveries { grid-template-columns: 1fr; }
  .create-result-round-columns { grid-template-columns: 1fr; }
  .analysis-finding > summary { align-items:flex-start; }
  .analysis-trajectory-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .analysis-finding-values > div,.analysis-finding-values.depth-1 > div,.analysis-finding-values.depth-2 > div { grid-template-columns:1fr; }
  #create-result-network-graph, #create-result-network-graph .cy-graph-shell { height: 500px; min-height: 500px; }
  #create-result-network-graph .cy-graph-canvas { min-height: 390px; }
  .case-network { width: calc(100vw - 24px); }
  .case-network-graph { height: 560px; }
  .case-network-graph .cy-graph-shell { min-height: 560px; }
  .case-network-graph .cy-graph-canvas { min-height: 510px; }
  .guide-graph, .guide-graph .cy-graph-shell { height: 500px; min-height: 500px; }
  .guide-graph .cy-graph-canvas { min-height: 400px; }
  .guide-legend { grid-template-columns: 1fr 1fr; }
  .guide-step-facts { grid-template-columns: 1fr; }
  .guide-controls { align-items: stretch; flex-direction: column; }
  .guide-controls { display: grid; grid-template-columns: 1fr; }
  .guide-control-hint { grid-column: auto; }
  .guide-progress { flex-wrap: wrap; }
  .guide-provenance dl { grid-template-columns: 1fr 1fr; }
  .guide-controls > div:last-child { display: grid; grid-template-columns: 0.7fr 1.3fr; }
  #guide-next { min-width: 0; }
  .methodology-hero h2 { font-size: 2.35rem; }
  .methodology-paper > section { display: block; }
  .methodology-number { display: block; margin-bottom: 10px; }
  .methodology-pipeline i { display: none; }
  .methodology-status { grid-template-columns: 1fr; }
  .methodology-status span + strong { margin-top: 7px; }
}

@media (max-width: 520px) {
  body { font-size: 14px; }
  .product-identity small { font-size: 0.72rem; }
  .rail-facts { gap: 4px; }
  .rail-facts span { font-size: 0.68rem; }
  .workspace-header h2 { font-size: 1.55rem; }
  .result-header h2 { font-size: 2.25rem; }
  .overview-hero h2 { font-size: 2.4rem; }
  .capability-grid { grid-template-columns: 1fr; }
  .comparison-summary { grid-template-columns: auto 1fr; }
  .comparison-summary small { display: none; }
  .trajectory-grid { grid-template-columns: 1fr; }
  .run-identity { align-items: flex-start; flex-direction: column; }
  .round-selector { align-items: flex-start; flex-direction: column; }
  .round-selector > div { width: 100%; }
  .round-selector button { flex: 1; }
  .section-title-row { align-items: flex-start; flex-direction: column; gap: 6px; }
  .agent-title-row { align-items: flex-start; }
  .group-filters { justify-content: flex-start; }
  .agent-list { grid-template-columns: 1fr; }
  .person-trajectory { grid-template-columns: 1fr; }
  .provenance-panel { grid-template-columns: 1fr; }
  .run-input-grid { grid-template-columns: 1fr; }
  .run-input-grid article:first-child { grid-column: auto; }
}

@media (max-width: 1100px) {
  .methodology-layout { gap: 34px; grid-template-columns: 190px minmax(0, 1fr); }
  .methodology-toc { padding-right: 14px; }
  .evidence-stack { grid-template-columns: repeat(3, 1fr); }
  .evidence-stack > div:nth-child(4) { border-left: 0; border-top: 1px solid var(--line); }
  .evidence-stack > div:nth-child(5) { border-top: 1px solid var(--line); }
}

@media (max-width: 850px) {
  .methodology-layout { display: block; }
  .methodology-toc { background: rgba(7, 16, 24, .98); border-bottom: 1px solid var(--line); border-right: 0; display: flex; flex-wrap: nowrap; gap: 4px; margin: 0; overflow-x: auto; padding: 8px 0; position: sticky; top: 0; z-index: 9; }
  .methodology-toc > div { display: none; }
  .methodology-toc a { display: flex; flex: 0 0 auto; gap: 7px; padding: 7px 9px; }
  .methodology-paper > section:first-child { padding-top: 44px; }
  .person-loop, .authoring-track { display: grid; grid-template-columns: 1fr; }
  .person-loop > i, .authoring-track > i { display: none; }
  .person-loop > div, .authoring-track > div { min-height: 86px; }
  .concept-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .methodology-hero { padding-top: 12px; }
  .methodology-hero h2 { font-size: 2.25rem; }
  .methodology-hero > p { font-size: .9rem; }
  .methodology-principle span { font-size: .68rem; overflow-wrap: anywhere; }
  .methodology-paper > section { padding: 46px 0; }
  .methodology-paper h3 { font-size: 1.62rem; }
  .methodology-section-heading { align-items: flex-start; flex-direction: column; }
  .method-diagram { margin-left: -8px; margin-right: -8px; padding: 15px; }
  .ontology-layer { align-items: start; grid-template-columns: 1fr; }
  .methodology-map, .method-commitment-grid, .method-commitment-grid.evidence-properties, .relation-grid, .coverage-key, .limitations-grid, .architecture-columns, .inference-grid { grid-template-columns: 1fr; }
  .concept-sequence { grid-template-columns: 1fr; }
  .information-chain { display: grid; grid-template-columns: 1fr; }
  .information-chain > i { display: none; }
  .information-chain > b { border-left: 0; border-top: 1px dashed var(--conditional); padding: 9px 0 0; text-align: center; }
  .transition-track { display: grid; grid-template-columns: 1fr; }
  .transition-track > i { display: none; }
  .transition-track > div { min-height: 84px; }
  .evidence-stack { grid-template-columns: 1fr; }
  .evidence-stack > div, .evidence-stack > div:nth-child(4), .evidence-stack > div:nth-child(5) { border-left: 0; border-top: 1px solid var(--line); }
  .evidence-stack > div:first-child { border-top: 0; }
  .resolution-choices { grid-template-columns: 1fr; }
  .resolution-choices > i { display: none; }
  .analysis-flow { grid-template-columns: 1fr; }
  .analysis-flow > i { display: none; }
  .source-ledger > div { gap: 5px; grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .analysis-trajectory-summary { grid-template-columns:1fr; }
  .analysis-trajectory-summary article > div { justify-content:space-between; }
}

/* Pre-registered analysis selection, shown in the Analysis review stage. */
.create-analysis-lead { color: var(--muted); line-height: 1.6; margin: 0 0 14px; }
.create-analysis-choice { align-items: start; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; cursor: pointer; display: grid; gap: 12px; grid-template-columns: auto minmax(0, 1fr); margin-bottom: 10px; padding: 14px 16px; }
.create-analysis-choice:hover { border-color: var(--accent); }
.create-analysis-choice input { margin-top: 3px; }
.create-analysis-choice span { display: grid; gap: 5px; }
.create-analysis-choice strong { font-size: .95rem; }
.create-analysis-choice small { color: var(--muted); line-height: 1.5; }
.create-analysis-note { color: var(--muted); font-size: .82rem; margin: 12px 0 0; }

/* Stabilization case: rounds, derived conditions, paired reasoning, CSO chain. */
.case-round-trajectory { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.case-round { background: var(--panel); border: 1px solid var(--line); border-radius: 11px; display: grid; gap: 10px; padding: 18px 20px; }
.case-round header span { color: var(--accent); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.case-round header h4 { font-size: 1rem; line-height: 1.3; margin: 5px 0 0; }
.case-round > strong { color: var(--muted); font-size: .84rem; font-weight: 600; line-height: 1.5; }
.case-trajectory-note { color: var(--muted); line-height: 1.7; margin: 16px 0 0; max-width: 80ch; }
.case-state-variables { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.case-state-variables article { background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 11px; display: grid; gap: 7px; padding: 18px 20px; }
.case-state-variables span { color: var(--accent); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.case-state-variables strong { font-size: 1.02rem; }
.case-state-variables p { color: var(--muted); line-height: 1.6; margin: 0; }
.case-analysis-boundary { color: var(--muted); font-size: .84rem; line-height: 1.65; margin: 16px 0 0; max-width: 80ch; }
.case-pair { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); margin-top: 12px; }
.case-pair > div { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; display: grid; gap: 8px; padding: 15px 17px; }
.case-pair span { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.case-pair p { color: var(--muted); line-height: 1.6; margin: 0; }
.case-cso-chain { display: grid; gap: 14px; }
.case-cso-chain article { background: var(--panel); border: 1px solid var(--line); border-radius: 11px; padding: 18px 20px; }
.case-cso-chain header span { color: var(--accent); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.case-cso-chain header h4 { font-size: 1.05rem; line-height: 1.3; margin: 6px 0 3px; }
.case-cso-chain header small { color: var(--faint); font-size: .78rem; }
.case-cso-chain p { color: var(--muted); line-height: 1.65; margin: 10px 0 0; }

/* Shown only when the reader reaches the builder from the walkthrough or the
   case study, so finishing either one leads somewhere instead of ending on an
   empty form with no stated connection to what was just read. */
.create-handoff {
  display: grid;
  gap: 8px;
  padding: 22px 24px;
  margin-bottom: 28px;
  border: 1px solid rgba(120, 160, 255, 0.34);
  border-left: 3px solid rgba(120, 160, 255, 0.75);
  border-radius: 12px;
  background: rgba(120, 160, 255, 0.07);
}
.create-handoff > span {
  font-size: 0.74rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  opacity: 0.72;
}
.create-handoff > strong { font-size: 1.18rem; }
.create-handoff > p { margin: 0; max-width: 74ch; line-height: 1.55; }
.create-handoff .create-handoff-next { font-size: 0.93rem; opacity: 0.85; }
.create-handoff em { font-style: normal; font-weight: 600; }

/* An analysis that could not run must say what it lacked. Previously this
   rendered as one flat sentence with no reason, which reads as the feature
   quietly failing rather than as a stated evidence boundary. */
.analysis-shortfall {
  display: grid;
  gap: 8px;
  padding: 16px 18px;
  border: 1px solid rgba(255, 190, 110, 0.36);
  border-left: 3px solid rgba(255, 190, 110, 0.8);
  border-radius: 10px;
  background: rgba(255, 190, 110, 0.07);
}
.analysis-shortfall strong { font-size: 1rem; }
.analysis-shortfall p { margin: 0; line-height: 1.5; }
.analysis-shortfall ul { margin: 0; padding-left: 20px; display: grid; gap: 4px; }
.analysis-shortfall li { line-height: 1.45; }

/* The evidence pairs demonstrate an invariant -- diverse expressions, one
   directional shift -- which is the source framework's central detection claim.
   The pairs showed it and the page never said it, leaving the reader to notice
   unaided across roughly 1,200 words of retained reasoning. */
.case-invariant-note {
  margin: 14px 0 0;
  padding: 14px 18px;
  max-width: 92ch;
  line-height: 1.6;
  border-left: 3px solid var(--accent);
  background: rgba(120, 190, 255, .06);
  border-radius: 0 10px 10px 0;
}
.case-invariant-note strong { color: var(--accent); }

/* The landing page asserted a capability and showed no result: a reader had to
   click before seeing anything the tool produces. This is the flagship's actual
   trajectory, stated once, above the fold. */
.hero-result {
  display: grid;
  gap: 14px;
  margin: 26px 0 0;
  padding: 20px 22px;
  max-width: 940px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(120, 190, 255, .05);
}
.hero-result-kicker {
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--accent);
}
.hero-result-track {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hero-result-track li {
  display: grid;
  gap: 3px;
  padding: 13px 15px;
  border-radius: 10px;
  background: rgba(9, 18, 27, .55);
  border: 1px solid var(--line);
}
.hero-result-track b { font-size: 1.5rem; line-height: 1.1; }
.hero-result-track span { font-size: .93rem; }
.hero-result-track em { font-style: normal; font-size: .82rem; opacity: .74; line-height: 1.45; }
.hero-result > p { margin: 0; max-width: 82ch; line-height: 1.6; font-size: .95rem; opacity: .88; }

/* Third hero action: quieter than the two real journeys, but present where a
   first-time reader arrives rather than at the foot of the page. */
.quiet-cta {
  background: transparent;
  border: 1px dashed var(--line);
  color: inherit;
  opacity: .82;
  padding: 11px 16px;
  border-radius: 9px;
  cursor: pointer;
  font: inherit;
}
.quiet-cta:hover { opacity: 1; border-style: solid; }

/* The evasion comparison. Two arms side by side so the reader compares the same
   quantity across them; the detector's own words are given equal weight to the
   stance counts, because the finding is the gap between the two. */
.case-evasion-compare {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 18px;
  margin-top: 6px;
}
.case-evasion-arm {
  display: grid;
  gap: 14px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(9, 18, 27, .5);
}
.case-evasion-arm > header > span {
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent);
}
.case-evasion-evasion { border-left: 3px solid rgba(255, 190, 110, .8); }
.case-evasion-overt { border-left: 3px solid rgba(120, 220, 170, .7); }
.case-evasion-rounds { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.case-evasion-rounds li {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.case-evasion-rounds span { opacity: .68; font-size: .9rem; }
.case-evasion-rounds strong { font-size: .93rem; text-align: right; }
.case-evasion-detector { margin: 0; display: grid; gap: 8px; }
.case-evasion-detector > div { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; }
.case-evasion-detector dt { opacity: .7; font-size: .88rem; }
.case-evasion-detector dd { margin: 0; font-size: .95rem; text-align: right; }
.case-evasion-verdict { font-weight: 700; }
.case-evasion-reading {
  margin: 18px 0 0;
  padding: 16px 20px;
  max-width: 96ch;
  line-height: 1.65;
  border-left: 3px solid var(--accent);
  background: rgba(120, 190, 255, .06);
  border-radius: 0 11px 11px 0;
}
.case-evasion-reading em { font-style: normal; font-weight: 700; }
