:root {
  color-scheme: dark;
  --bg: #101416;
  --panel: #151d20;
  --line: #303b3d;
  --text: #e8eeea;
  --muted: #9aaeb0;
  --accent: #88d8d4;
  --amber: #eac48a;
  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  font-synthesis: none;
  background: var(--bg);
  color: var(--text);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}
body {
  margin: 0;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  color: var(--accent);
}
button,
input {
  font: inherit;
}
button {
  cursor: pointer;
  color: inherit;
  background: transparent;
  border: 1px solid var(--line);
}
button:disabled {
  opacity: 0.5;
  cursor: default;
}
button:hover:not(:disabled) {
  border-color: var(--accent);
}
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 5px;
}
p {
  line-height: 1.65;
  color: var(--muted);
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1 {
  font-size: clamp(38px, 4.3vw, 64px);
  line-height: 1.08;
  letter-spacing: -0.055em;
  font-weight: 520;
  margin: 27px 0;
}
h1 em {
  font-family: Georgia, serif;
  font-weight: 400;
  color: var(--accent);
  letter-spacing: -0.035em;
}
h2 {
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.15;
  letter-spacing: -0.035em;
  font-weight: 500;
  margin: 16px 0;
}
h3 {
  font-weight: 550;
  font-size: 20px;
}
main,
footer,
.masthead {
  max-width: 1440px;
  margin: auto;
  padding-left: 5%;
  padding-right: 5%;
}
.masthead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 84px;
  border-bottom: 1px solid var(--line);
}
.brand {
  display: flex;
  align-items: center;
  gap: 13px;
}
.brand strong {
  letter-spacing: 0.15em;
  font-size: 19px;
}
.brand span {
  font: 9px monospace;
  color: var(--muted);
  border-left: 1px solid var(--line);
  padding-left: 18px;
  margin-left: 7px;
}
.masthead nav {
  display: flex;
  gap: 30px;
  font-size: 13px;
}
.environment {
  display: flex;
  gap: 28px;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
  font: 11px monospace;
  color: var(--muted);
}
.environment i {
  display: inline-block;
  width: 6px;
  height: 6px;
  border: 1px solid var(--accent);
  margin-right: 7px;
}
.environment span:first-child {
  color: var(--accent);
}
.hero {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  align-items: center;
  gap: 45px;
  padding: 72px 0 65px;
}
.eyebrow {
  font: 10px/1.5 monospace;
  letter-spacing: 0.12em;
  color: var(--accent);
}
.lede {
  font-size: 16px;
  max-width: 590px;
}
.actions {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  font-size: 13px;
}
.hero .actions {
  margin-top: 29px;
}
.primary {
  display: inline-flex;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 19px;
  background: var(--accent);
  color: #102125 !important;
  border: 1px solid var(--accent);
  font-weight: 600;
  cursor: pointer;
}
.primary:hover {
  background: #a5e9e6;
}
.hero-instrument {
  border: 1px solid var(--line);
  background: var(--panel);
}
.hero-instrument svg {
  display: block;
  width: 100%;
  background: var(--bg);
}
.instrument-label,
.instrument-foot {
  display: flex;
  justify-content: space-between;
  padding: 14px;
  font: 9px/1.5 monospace;
  color: var(--muted);
}
.instrument-label {
  border-bottom: 1px solid var(--line);
}
.instrument-foot {
  border-top: 1px solid var(--line);
  color: var(--accent);
}
.facts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.facts div {
  padding: 22px 20px;
  border-right: 1px solid var(--line);
}
.facts div:first-child {
  padding-left: 0;
}
.facts div:last-child {
  border: 0;
}
.facts span,
.facts strong {
  display: block;
}
.facts span {
  font-size: 11px;
  color: var(--muted);
  margin-bottom: 8px;
}
.facts strong {
  font-size: 14px;
  font-weight: 500;
}
.amber {
  color: var(--amber);
}
.section {
  padding: 78px 0;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 20px;
}
.section-heading {
  max-width: 670px;
  margin-bottom: 32px;
}
.section-heading p:not(.eyebrow) {
  font-size: 15px;
}
.selector {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line);
}
.selector button {
  text-align: left;
  border: 0;
  border-right: 1px solid var(--line);
  padding: 22px;
  color: var(--muted);
  font: 11px monospace;
}
.selector button:last-child {
  border: 0;
}
.selector strong {
  display: block;
  font-family: inherit;
  font-size: 23px;
  font-weight: 500;
  color: var(--text);
  margin: 10px 0;
}
.selector span {
  font: 12px sans-serif;
}
.selector button[aria-pressed="true"] {
  background: var(--panel);
  box-shadow: inset 0 2px var(--accent);
  color: var(--accent);
}
.inspection {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 60px;
  background: var(--panel);
  padding: 32px;
  border: 1px solid var(--line);
  border-top: 0;
  min-height: 226px;
}
.inspection p {
  margin-top: 12px;
  font-size: 14px;
}
.inspection ul,
.report-boundary ul {
  padding-left: 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.9;
}
.split {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 80px;
}
.split .section-heading {
  margin: 0;
}
.section-heading a {
  display: inline-block;
  margin-top: 20px;
  font-size: 13px;
}
.research-controls {
  display: flex;
  border-bottom: 1px solid var(--line);
  gap: 20px;
}
.research-controls button {
  border: 0;
  padding: 10px 0;
  font-size: 12px;
  color: var(--muted);
}
.research-controls button[aria-pressed="true"] {
  color: var(--accent);
  box-shadow: 0 1px var(--accent);
}
.research-detail {
  padding: 25px 0;
  min-height: 180px;
}
.research-detail h3 {
  margin-bottom: 10px;
}
.annotation {
  font-size: 11px;
  line-height: 1.7;
}
.annotation a {
  color: var(--accent);
}
.report-toolbar {
  border: 1px solid var(--line);
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
}
.report-toolbar strong {
  font-size: 14px;
}
.report-toolbar p {
  font-size: 11px;
  margin-top: 5px;
}
.report-toolbar button {
  padding: 13px 15px;
  font-size: 12px;
}
.file-control {
  position: relative;
  font-size: 12px;
  overflow: hidden;
}
.file-control input {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.file-control:focus-within {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}
#report-error {
  color: var(--amber);
  padding: 15px;
  border: 1px solid var(--amber);
  font-size: 13px;
}
.economics-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  border: 1px solid var(--line);
  border-top: 0;
}
.ledger {
  border-right: 1px solid var(--line);
}
.ledger > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 16px 23px;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}
.ledger > div:last-child {
  border: 0;
}
.ledger .ledger-header {
  font: 10px monospace;
  text-transform: uppercase;
  color: var(--muted);
  background: var(--panel);
}
.ledger small {
  display: block;
  color: var(--muted);
  font-size: 10px;
  margin-top: 6px;
  line-height: 1.5;
}
.ledger strong {
  font: 13px monospace;
  text-align: right;
  overflow-wrap: anywhere;
  max-width: 48%;
}
.report-boundary {
  padding: 28px;
  background: var(--panel);
}
.report-boundary h3 {
  margin: 18px 0 7px;
  font-size: 17px;
}
.unknown {
  font:
    36px Georgia,
    serif !important;
  color: var(--amber);
  margin: 15px 0;
}
.report-boundary p {
  font-size: 13px;
}
details {
  border-bottom: 1px solid var(--line);
  padding: 18px 0;
}
summary {
  cursor: pointer;
  font-size: 14px;
  line-height: 1.6;
}
details p {
  font-size: 13px;
  margin-top: 15px;
}
summary span {
  font: 11px monospace;
  color: var(--accent);
  margin: 0 18px;
}
summary b {
  font: 9px monospace;
  color: var(--amber);
  float: right;
  padding: 4px;
}
.gates > a {
  display: inline-block;
  margin-top: 24px;
  font-size: 12px;
}
.chronology {
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 35px;
}
.chronology li {
  border-top: 1px solid var(--accent);
  padding-top: 18px;
}
.chronology span {
  font: 10px monospace;
  color: var(--accent);
}
.chronology h3 {
  font-size: 19px;
  margin: 17px 0 10px;
}
.chronology p {
  font-size: 13px;
}
.architecture {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--line);
}
.architecture-nodes {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.architecture-nodes button {
  padding: 28px 20px;
  text-align: left;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: 15px;
}
.architecture-nodes button:nth-child(n + 3) {
  border-bottom: 0;
}
.architecture-nodes small {
  display: block;
  font: 9px monospace;
  color: var(--muted);
  margin-bottom: 18px;
}
.architecture-nodes span {
  display: block;
  color: var(--accent);
  margin-top: 14px;
}
.architecture-nodes button[aria-pressed="true"] {
  background: var(--panel);
  box-shadow: inset 0 2px var(--accent);
}
.architecture-detail {
  padding: 32px;
  background: var(--panel);
}
.architecture-detail h3 {
  margin: 10px 0;
}
.architecture-detail p {
  font-size: 14px;
}
.architecture-detail a {
  display: inline-block;
  margin-top: 22px;
  color: var(--accent);
  font-size: 12px;
}
.start {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}
.start p {
  font-size: 14px;
}
pre {
  background: #0c1113;
  border: 1px solid var(--line);
  padding: 20px;
  overflow-x: auto;
  font: 12px/1.8 monospace;
  color: var(--accent);
}
.start .annotation {
  font-size: 11px;
}
.start-links {
  padding-top: 40px;
}
.start-links a {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  border-bottom: 1px solid var(--line);
  padding: 20px 0;
}
.start-links p {
  font-size: 12px;
  margin-top: 26px;
}
footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 30px;
  padding-bottom: 30px;
  font: 10px monospace;
  color: var(--muted);
}
.skip {
  position: fixed;
  top: -80px;
  left: 20px;
  z-index: 100;
  background: var(--accent);
  color: #102125;
  padding: 15px;
}
.skip:focus {
  top: 12px;
}
[hidden] {
  display: none !important;
}
@media (min-width: 1600px) {
  main,
  footer,
  .masthead {
    max-width: 1600px;
  }
}
@media (max-width: 1050px) {
  .brand span {
    display: none;
  }
  .hero {
    gap: 25px;
    grid-template-columns: 1.2fr 1fr;
  }
  .hero .actions {
    gap: 18px;
  }
  .split,
  .start {
    gap: 35px;
  }
  .research-controls {
    gap: 14px;
  }
  .facts strong {
    font-size: 12px;
  }
}
@media (max-width: 780px) {
  .hero {
    grid-template-columns: 1fr;
    padding: 44px 0;
  }
  .hero-instrument {
    max-width: 520px;
  }
  .environment {
    flex-wrap: wrap;
    gap: 12px 22px;
    font-size: 10px;
  }
  .facts {
    grid-template-columns: 1fr 1fr;
  }
  .facts div {
    border-bottom: 1px solid var(--line);
    padding: 18px;
  }
  .facts div:first-child {
    padding-left: 18px;
  }
  .facts div:nth-child(2) {
    border-right: 0;
  }
  .facts div:nth-child(n + 3) {
    border-bottom: 0;
  }
  .split,
  .start {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .economics-grid {
    grid-template-columns: 1fr;
  }
  .ledger {
    border-right: 0;
  }
  .report-boundary {
    border-top: 1px solid var(--line);
  }
  .report-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }
  .inspection {
    gap: 25px;
  }
  .selector button {
    padding: 17px 12px;
  }
  .selector span {
    font-size: 10px;
  }
  .selector strong {
    font-size: 18px;
  }
  .chronology {
    gap: 20px;
  }
  .architecture {
    grid-template-columns: 1fr;
  }
  .architecture-nodes button:nth-child(even) {
    border-right: 0;
  }
  .architecture-nodes button:nth-child(n + 3) {
    border-bottom: 1px solid var(--line);
  }
  .section {
    padding: 50px 0;
  }
}
@media (max-width: 480px) {
  .masthead {
    flex-wrap: wrap;
    gap: 20px;
    padding-top: 20px;
    padding-bottom: 18px;
  }
  .masthead nav {
    width: 100%;
    justify-content: space-between;
    gap: 12px;
    font-size: 12px;
  }
  .hero h1 {
    font-size: 40px;
  }
  .hero-instrument {
    margin-top: 7px;
  }
  .lede {
    font-size: 14px;
  }
  .selector {
    grid-template-columns: 1fr 1fr;
  }
  .selector button {
    border-bottom: 1px solid var(--line);
  }
  .selector button:nth-child(2) {
    border-right: 0;
  }
  .selector button:nth-child(3) {
    border-bottom: 0;
  }
  .inspection {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 22px;
  }
  .research-controls {
    justify-content: space-between;
    gap: 8px;
  }
  .chronology {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .architecture-detail {
    padding: 24px;
  }
  .environment span:nth-child(3) {
    width: 100%;
  }
  footer {
    flex-wrap: wrap;
  }
  .ledger > div {
    padding: 15px;
  }
  .report-toolbar .actions {
    gap: 12px;
  }
  .facts strong {
    font-size: 12px;
  }
  .section-heading h2 {
    font-size: 31px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* Public explorer: the same agent-economy universe, explicitly a static preview. */
:root {
  --bg:#070a12; --panel:#0e1727; --line:#293a57; --text:#e9f2ff; --muted:#a7b8d2;
  --accent:#58f0ce; --amber:#ffc367; --violet:#cf9dff; --blue:#70baff;
  background:radial-gradient(ellipse at 50% -12%,#172a4b70,transparent 57%),linear-gradient(180deg,#080c16,#070a12 55%,#0a0f1b);
  color:var(--text);
}
body { position:relative; isolation:isolate; }
body::before {
  position:fixed; z-index:-1; inset:0; content:""; pointer-events:none;
  background-image:linear-gradient(#7ba7dc08 1px,transparent 1px),linear-gradient(90deg,#7ba7dc08 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,#000 0%,transparent 72%);
}
.masthead { border-color:#30415d; }
.brand strong { color:#f0f6ff; }
.brand img { filter:drop-shadow(0 0 9px #58f0ce55); }
.brand span { border-color:#344765; color:#91a7c9; }
.masthead nav { color:#b3c3dc; }
.masthead nav a { transition:color .15s; }
.masthead nav a:hover { color:var(--accent); }
.environment { border-color:#263752; color:#91a5c3; }
.environment span:first-child { color:var(--accent); }
.environment i { border-color:var(--accent); box-shadow:0 0 8px #58f0ce55; }
h1 { letter-spacing:-.035em; text-shadow:0 8px 35px #70baff13; }
h1 em { color:var(--accent); text-shadow:0 0 24px #58f0ce18; }
.lede { color:#b5c6df; }
.primary { border-color:#6affda; background:linear-gradient(120deg,#58f0ce,#92ffe4); box-shadow:0 9px 30px #58f0ce1e; }
.primary:hover { background:#b5ffef; }
.hero-instrument { position:relative; perspective:1000px; overflow:hidden; border-color:#385171; border-radius:4px; background:linear-gradient(145deg,#111d30,#0a1120); box-shadow:0 24px 58px #02050c88,inset 0 1px #e4f0ff10; }
.hero-instrument::after { position:absolute; right:-80px; bottom:-110px; width:240px; height:240px; border:1px solid #70baff20; border-radius:50%; content:""; pointer-events:none; }
.hero-instrument svg { transform:rotateX(5deg) rotateY(-4deg) scale(.96); transform-style:preserve-3d; background:radial-gradient(ellipse at 50% 48%,#182947,#0a1120 70%); transition:transform .35s ease; }
.hero-instrument:hover svg { transform:rotateX(0deg) rotateY(0deg) scale(1); }
.instrument-label,.instrument-foot { position:relative; z-index:1; padding:13px 15px; color:#a9bbd7; font-size:9px; letter-spacing:.08em; }
.instrument-label { border-color:#2b3e5c; }
.instrument-foot { border-color:#2b3e5c; color:#9df7e5; }
.facts { border-color:#30415d; background:#0d1523aa; }
.facts div { border-color:#293a57; }
.facts span { color:#91a7c7; font:10px ui-monospace,monospace; letter-spacing:.08em; text-transform:uppercase; }
.facts strong { color:#e0ebfa; }
.section { border-color:#293a57; }
.eyebrow { color:#9ab1d2; }
.section-heading h2 { color:#edf4ff; }
.section-heading p:not(.eyebrow) { color:#aabbd5; }
.selector { border-color:#354b6c; border-radius:4px; background:#0b1220; perspective:1000px; }
.selector button { position:relative; border-color:#293a57; color:#a3b6d1; transition:background .18s,transform .18s,color .18s; }
.selector strong { color:#e4eeff; }
.selector span { color:#91a6c5; }
.selector button[aria-pressed="true"] { position:relative; z-index:1; transform:translateZ(8px); background:linear-gradient(145deg,#14263c,#101a2b); box-shadow:inset 0 2px var(--accent),0 12px 28px #02050b55; color:var(--accent); }
.inspection { border-color:#354b6c; background:linear-gradient(145deg,#111d30,#0b1220); box-shadow:0 18px 45px #02050b66; }
.inspection h3 { color:#e2edff; }
.inspection p,.inspection ul { color:#afc1dc; }
.split { gap:clamp(35px,6vw,80px); }
.research-controls { border-color:#30415d; }
.research-controls button { color:#9eb2d0; }
.research-controls button[aria-pressed="true"] { color:var(--accent); }
.research-detail { color:#b5c5dd; }
.annotation { color:#93a8c7; }
.report-toolbar,.economics-grid,.architecture { border-color:#344a69; border-radius:4px; background:#0d1524; box-shadow:0 16px 38px #02050b55; }
.report-toolbar button,.file-control { border:1px solid #405b7e; border-radius:3px; background:#122139; color:#c5dbf5; }
.report-toolbar button:hover { border-color:var(--accent); color:var(--accent); }
.economics-grid { border-top:0; }
.ledger { border-color:#293a57; }
.ledger > div { border-color:#263751; color:#d6e2f2; }
.ledger .ledger-header { background:#111c2e; color:#9bb0cf; }
.ledger small { color:#91a5c4; }
.ledger strong { color:#e9f2ff; }
.report-boundary { background:linear-gradient(145deg,#111d30,#0a1120); }
.report-boundary h3 { color:#dce8f8; }
.report-boundary p,.report-boundary ul { color:#a3b6d1; }
.unknown { color:var(--amber); text-shadow:0 0 24px #ffc36722; }
details { border-color:#2c405f; }
summary { color:#d7e3f3; }
summary span { color:var(--blue); }
summary b { color:var(--amber); }
.chronology li { border-color:var(--blue); }
.chronology span { color:var(--blue); }
.chronology h3 { color:#e2edff; }
.chronology p { color:#a5b8d4; }
.architecture { overflow:hidden; }
.architecture-nodes button { border-color:#293a57; color:#d5e2f3; }
.architecture-nodes small { color:#8fa5c6; }
.architecture-nodes span { color:var(--accent); }
.architecture-nodes button[aria-pressed="true"] { background:linear-gradient(145deg,#14263c,#0f1929); box-shadow:inset 0 2px var(--accent); }
.architecture-detail { background:linear-gradient(145deg,#111d30,#0b1220); }
.architecture-detail h3 { color:#e4edfc; }
.architecture-detail p { color:#adbeda; }
.start-links a { border-color:#2a3d5a; color:#d8e5f7; }
.start-links a:hover { color:var(--accent); }
pre { border-color:#2b3f5d; border-radius:3px; background:#0a1120; color:#a2e9ff; }
footer { border-color:#2b3d58; color:#91a5c3; }
.skip { border-radius:3px; background:var(--accent); color:#06131a; }
@media(max-width:780px) {
  .hero-instrument { transform:none; }
  .hero-instrument svg { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-instrument svg,.selector button { transition:none; transform:none; }
}
