:root {
  --void: #091016;
  --panel: #111b24;
  --panel-2: #152330;
  --ink: #e8edf1;
  --muted: #a9b7c4;
  --line: #2b4353;
  --signal: #a9e85a;
  --cyan: #5ed9e8;
  --amber: #ffc76a;
  --violet: #b4a4ff;
  --danger: #ff8c93;
  --sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans CJK SC", "Microsoft YaHei", Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", "Noto Sans Mono CJK SC", monospace;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--void);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.72;
}

a { color: var(--cyan); text-decoration-thickness: 1px; text-underline-offset: 0.16em; }
a:hover { color: var(--signal); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; }

.skip-link {
  position: absolute;
  top: -4rem;
  left: 1rem;
  z-index: 10;
  background: var(--amber);
  color: #000;
  padding: 0.45rem 0.75rem;
  border-radius: 0.25rem;
  font-weight: 700;
}
.skip-link:focus { top: 1rem; }

.container { width: min(1120px, calc(100% - 2.2rem)); margin: 0 auto; }
.container.narrow { width: min(860px, calc(100% - 2.2rem)); }

.page-header {
  border-bottom: 1px solid var(--line);
  background: radial-gradient(circle at 85% 12%, rgba(94, 217, 232, 0.13), transparent 32rem), linear-gradient(155deg, #101c26, #091016 65%);
  padding: 4.5rem 0 3.4rem;
}

.eyebrow, .section-kicker {
  color: var(--cyan);
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

h1, h2, h3 { color: var(--ink); line-height: 1.25; }
h1 { max-width: 20ch; margin: 0.6rem 0 1rem; font-size: clamp(2rem, 5vw, 3.75rem); }
h2 { margin: 0.2rem 0 1.2rem; font-size: clamp(1.45rem, 3vw, 2.2rem); }
h3 { margin: 0 0 0.5rem; font-size: 1.08rem; }
p { margin: 0 0 1rem; }

.subtitle { max-width: 77ch; color: #d3e0e8; font-size: 1.18rem; }
.status-line { max-width: 80ch; margin-top: 1.45rem; border-left: 4px solid var(--amber); padding: 0.7rem 1rem; background: rgba(255, 199, 106, 0.08); }

section { padding: 4.6rem 0; border-bottom: 1px solid rgba(43, 67, 83, 0.55); }
.lead-section { background: linear-gradient(180deg, rgba(21, 35, 48, 0.48), transparent); }
.figure-section { padding: 3.25rem 0; background: #0d161e; }

.lead { font-size: 1.28rem; color: #f2f7f9; }
.mono, code { font-family: var(--mono); color: #d9e6ec; font-size: 0.93em; }
.formula, .formula-inline { font-family: var(--mono); }
.formula { margin: 1rem 0; color: var(--signal); font-size: 1.16rem; overflow-wrap: anywhere; }
.formula-inline { color: #f1dbaf; white-space: nowrap; }

.metric-card, .callout, .outcome {
  border: 1px solid var(--line);
  border-radius: 0.7rem;
  background: var(--panel);
  padding: 1.25rem 1.35rem;
}
.metric-card { margin: 1.55rem 0 0; border-left: 4px solid var(--signal); }
.metric-card p:last-child, .callout p:last-child, .outcome p:last-child { margin-bottom: 0; }
.metric-name { margin-bottom: 0.3rem; color: var(--signal); font-weight: 800; }

.two-col, .outcome-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.4rem; }
.outcome-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.callout.importance { border-left: 4px solid var(--cyan); }
.callout.boundary { border-left: 4px solid var(--violet); }
.callout.warning { margin-top: 1.4rem; border-left: 4px solid var(--amber); background: rgba(255, 199, 106, 0.08); }

.outcome.sided { border-top: 4px solid var(--danger); }
.outcome.symmetric { border-top: 4px solid var(--signal); }
.outcome.inconclusive { border-top: 4px solid var(--amber); }

figure { margin: 0; }
figure img { display: block; width: 100%; height: auto; border: 1px solid var(--line); border-radius: 0.5rem; background: #0a0e14; }
figcaption { margin: 0.85rem auto 0; width: min(940px, 100%); color: var(--muted); font-size: 0.94rem; }
figcaption strong { color: var(--ink); }

table { width: 100%; margin: 1.5rem 0; border-collapse: collapse; border: 1px solid var(--line); background: var(--panel); font-size: 0.94rem; }
th, td { padding: 0.8rem; border: 1px solid var(--line); vertical-align: top; text-align: left; }
th { color: #dff7ff; background: #172936; font-weight: 800; }
td:first-child { white-space: nowrap; }

ol, ul { padding-left: 1.3rem; }
li { margin-bottom: 0.55rem; }
.provenance-list li { overflow-wrap: anywhere; }
.boundary-note { color: var(--muted); border-top: 1px dashed var(--line); margin-top: 1.5rem; padding-top: 1.4rem; }

footer { padding: 2.3rem 0; color: var(--muted); font-size: 0.9rem; }
footer p:last-child { margin-bottom: 0; }

@media (max-width: 760px) {
  body { font-size: 16px; }
  .page-header { padding: 3.4rem 0 2.6rem; }
  section { padding: 3.4rem 0; }
  .two-col, .outcome-grid { grid-template-columns: 1fr; }
  table { display: block; overflow-x: auto; }
  th, td { min-width: 10rem; }
  td:first-child { white-space: normal; }
}
