:root {
  --paper: #f1eee6;
  --ink: #151918;
  --muted: #5f6662;
  --rule: #c7c2b8;
  --black: #0d1110;
  --charcoal: #222826;
  --cyan: #42d7d0;
  --cyan-dark: #07716e;
  --gold: #d9a441;
  --green: #216c55;
  --red: #943f3a;
  --purple: #6652a3;
  --white: #fffdf7;
  --shadow: 0 18px 44px rgba(15, 20, 18, .10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 92% 0%, rgba(66, 215, 208, .14), transparent 31rem),
    var(--paper);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.72;
}
a { color: var(--cyan-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover, a:focus-visible { color: var(--red); }
a:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
header {
  color: var(--white);
  background:
    linear-gradient(118deg, rgba(66, 215, 208, .16), transparent 48%),
    linear-gradient(145deg, #080b0a 0%, #1e2926 70%, #0c4f4c 145%);
  padding: 5.7rem 1.5rem 4.8rem;
}
.header-inner, main, footer { width: min(960px, calc(100% - 2rem)); margin: 0 auto; }
.site-brand {
  display: inline-flex;
  align-items: baseline;
  gap: .65rem;
  margin-bottom: 3.2rem;
  color: var(--white);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .9rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-decoration: none;
}
.site-brand span { color: #c8cfcc; font-size: .72rem; font-weight: 650; letter-spacing: .04em; }
.site-brand:hover { color: var(--cyan); }
.kicker, .meta, nav, .eyebrow, .verdict, .status, .source-type, .step {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .035em;
}
.kicker { margin: 0 0 1.2rem; color: #78eee8; font-size: .78rem; font-weight: 780; text-transform: uppercase; }
h1 { margin: 0; max-width: 910px; font-size: clamp(3rem, 7.3vw, 6rem); line-height: .95; letter-spacing: -.055em; font-weight: 650; }
.deck { max-width: 820px; margin: 1.7rem 0 0; color: #e7eeeb; font-size: clamp(1.12rem, 2.5vw, 1.48rem); line-height: 1.45; }
.meta { margin-top: 2rem; color: #bec9c5; font-size: .81rem; }
.verdict {
  display: inline-flex;
  align-items: center;
  gap: .56rem;
  margin-top: 2.1rem;
  padding: .58rem .84rem;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 999px;
  color: #f5fffd;
  background: rgba(0, 0, 0, .2);
  font-size: .78rem;
  font-weight: 720;
}
.verdict-dot { width: .58rem; height: .58rem; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 4px rgba(66, 215, 208, .16); }
nav { position: sticky; top: 0; z-index: 10; background: rgba(241, 238, 230, .96); border-bottom: 1px solid var(--rule); backdrop-filter: blur(10px); }
nav .nav-inner { width: min(960px, calc(100% - 2rem)); margin: auto; display: flex; gap: 1.25rem; overflow-x: auto; padding: .86rem 0; scrollbar-width: none; }
nav a { color: var(--ink); font-size: .79rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
main { padding: 3.5rem 0 5.2rem; }
section { scroll-margin-top: 5rem; }
h2 { margin: 4.9rem 0 1.05rem; font-size: clamp(2.05rem, 4.3vw, 3.45rem); line-height: 1.06; letter-spacing: -.035em; }
h3 { margin: 2.7rem 0 .65rem; font-size: 1.43rem; line-height: 1.24; }
p { margin: 0 0 1.27rem; }
.lede { font-size: 1.26rem; line-height: 1.62; }
.abstract, .callout, .method-box {
  background: rgba(255, 253, 247, .82);
  border: 1px solid var(--rule);
  border-radius: 14px;
  box-shadow: var(--shadow);
}
.abstract { padding: 1.95rem 2.1rem; margin: 0 0 3rem; }
.eyebrow { margin: 0 0 .58rem; color: var(--cyan-dark); font-size: .73rem; font-weight: 830; text-transform: uppercase; }
.stack { display: grid; gap: .85rem; margin: 2rem 0 2.3rem; }
.stack article { display: grid; grid-template-columns: 4.1rem 1fr; gap: 1rem; align-items: start; padding: 1.35rem 1.45rem; background: var(--black); color: #edf3f0; border-left: 5px solid var(--cyan); }
.stack .step { display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: var(--cyan); font-size: .74rem; font-weight: 820; }
.stack h3 { margin: 0 0 .25rem; color: white; }
.stack p { margin: 0; color: #c8d1cd; line-height: 1.5; }
.scorecard { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.8rem 0 2.6rem; }
.scorecard article { padding: 1.45rem 1.5rem; background: rgba(255, 253, 247, .82); border: 1px solid var(--rule); border-top: 4px solid var(--charcoal); box-shadow: 0 8px 22px rgba(15, 20, 18, .05); }
.score-head { display: flex; justify-content: space-between; gap: .8rem; align-items: flex-start; }
.score-head h3 { margin: 0; font-size: 1.18rem; }
.scorecard p { margin: .8rem 0 0; font-size: .95rem; line-height: 1.58; }
.status { flex: 0 0 auto; padding: .24rem .5rem; border-radius: 999px; font-size: .61rem; font-weight: 820; text-transform: uppercase; white-space: nowrap; }
.live { background: #dbece5; color: #185944; }
.early, .test { background: #e3eff0; color: #176361; }
.plausible { background: #e9e4f5; color: #54418e; }
.speculative { background: #f1e5ca; color: #785915; }
.no { background: #f0ddda; color: #80352f; }
.callout { margin: 2.25rem 0; padding: 1.48rem 1.68rem; border-left: 5px solid var(--cyan-dark); }
.callout strong { color: var(--cyan-dark); }
.comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.8rem 0 2.2rem; }
.comparison article { padding: 1.45rem 1.5rem; background: rgba(255, 253, 247, .75); border: 1px solid var(--rule); }
.comparison h3 { margin: 0 0 .75rem; font-size: 1.2rem; }
.comparison p { margin-bottom: .8rem; font-size: .95rem; line-height: 1.58; }
.comparison p:last-child { margin-bottom: 0; }
.pilot-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.7rem 0 2rem; }
.pilot-grid > div { padding: 1.45rem 1.55rem; border: 1px solid var(--rule); background: rgba(255, 253, 247, .76); }
.pilot-grid > div:first-child { border-top: 5px solid var(--green); }
.pilot-grid > div:last-child { border-top: 5px solid var(--red); }
.pilot-grid h3 { margin: 0 0 .75rem; }
ul, ol { padding-left: 1.25rem; }
li { margin-bottom: .56rem; }
.bottom-line { margin-top: 3rem; padding: 1.95rem 2.1rem; background: var(--black); color: #edf3f0; border-radius: 14px; }
.bottom-line h2 { margin: 0 0 .85rem; color: white; }
.bottom-line p:last-child { margin-bottom: 0; color: #7ce9e4; font-size: 1.16rem; }
.method-box { padding: 1.55rem 1.75rem; box-shadow: none; }
.method-box p:last-child { margin-bottom: 0; }
.sources { list-style: none; padding: 0; counter-reset: source; }
.sources li { counter-increment: source; padding: 1rem 0 1rem 2.8rem; border-top: 1px solid var(--rule); position: relative; }
.sources li::before { content: counter(source); position: absolute; left: 0; top: 1rem; width: 1.75rem; height: 1.75rem; display: grid; place-items: center; border-radius: 50%; background: var(--black); color: white; font-family: ui-sans-serif, system-ui, sans-serif; font-size: .72rem; font-weight: 760; }
.source-type { display: block; color: var(--muted); font-size: .69rem; text-transform: uppercase; font-weight: 780; }
sup a { font-family: ui-sans-serif, system-ui, sans-serif; font-size: .7em; text-decoration: none; }
footer { padding: 2.6rem 0 4rem; border-top: 1px solid var(--rule); color: var(--muted); font-size: .84rem; }
.back { text-decoration: none; }
@media (max-width: 760px) {
  body { font-size: 17px; }
  header { padding: 4rem 1rem 3.7rem; }
  .scorecard, .comparison, .pilot-grid { grid-template-columns: 1fr; }
  .abstract, .bottom-line { padding: 1.42rem; }
  .score-head { display: block; }
  .status { display: inline-block; margin-top: .6rem; }
}
@media (max-width: 430px) {
  .stack article { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
@media print {
  nav { display: none; }
  body { background: white; color: black; font-size: 11pt; }
  header { background: white; color: black; padding: 0 0 1.5rem; border-bottom: 2px solid black; }
  .deck, .meta, .kicker { color: #333; }
  .verdict { color: black; border-color: #777; }
  main, .header-inner, footer { width: 100%; }
  .abstract, .callout, .method-box { box-shadow: none; }
  .stack article, .bottom-line { color: black; background: white; border: 1px solid #777; }
  .stack h3, .bottom-line h2 { color: black; }
  a { color: black; }
}
