:root {
  --viz-series-1: #207a77;
  --viz-series-2: #9a4c75;
  --viz-series-3: #d97928;
  --viz-neutral: #787c7c;
  --positive: #207a77;
  --negative: #b14b35;
}
[data-theme="dark"] {
  --viz-series-1: #54b9b2;
  --viz-series-2: #d68aae;
  --viz-series-3: #e9aa59;
  --viz-neutral: #a8b0ae;
  --positive: #54b9b2;
  --negative: #ed8a74;
}

body { font-size: 16px; }
.topbar { grid-template-columns: 220px 1fr 42px; }
.topbar nav { gap: clamp(.6rem, 1.65vw, 1.45rem); }
.topbar nav a { font-size: .76rem; }

.hero-final { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr); gap: clamp(3rem, 7vw, 8rem); max-width: 1460px; min-height: 520px; margin: 0 auto; padding: clamp(4rem, 6vw, 6rem) clamp(1.25rem, 5vw, 5rem); align-items: center; }
.hero-copy-final { max-width: 870px; }
.hero-copy-final h1 { max-width: 860px; margin: 1rem 0 1.25rem; font-size: clamp(1.75rem, 2.1vw, 2.2rem); line-height: 1.28; font-weight: 500; }
.hero-thesis-final { max-width: 780px; margin-bottom: 0; color: var(--muted); font-size: 1rem; line-height: 1.72; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem; margin-top: 2.25rem; }

.verdict-panel { border-top: 2px solid var(--ink); }
.verdict-row { display: grid; gap: .24rem; padding: 1rem 0 1.1rem; border-bottom: 1px solid var(--line); }
.verdict-row span { color: var(--muted); font: 500 .69rem/1.35 var(--mono); text-transform: uppercase; letter-spacing: .025em; }
.verdict-row strong { font: 500 clamp(1.25rem, 2vw, 1.75rem)/1.18 var(--mono); }
.verdict-row small { color: var(--muted); font-size: .76rem; line-height: 1.5; }
.verdict-row.win strong { color: var(--positive); }

.report-section { scroll-margin-top: 88px; padding: clamp(5rem, 8vw, 8rem) clamp(1.25rem, 5vw, 5rem); }
.report-section.tinted { background: var(--paper-2); }
.section-heading { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; max-width: 1360px; margin: 0 auto 3.4rem; padding-top: .9rem; border-top: 2px solid var(--ink); }
.section-heading h2 { max-width: 900px; margin: .55rem 0 0; font-weight: 500; }
.section-heading .compact-method-title { font-size: clamp(1.2rem, 1.8vw, 1.55rem); line-height: 1.35; }
.section-heading > p { max-width: 510px; margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.68; }

.claim-grid, .baseline-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1360px; margin: 0 auto; border-top: 1px solid var(--line-strong); }
.claim-grid article, .baseline-grid article { min-width: 0; padding: 1.25rem 1.4rem 1.35rem 0; border-bottom: 1px solid var(--line); }
.claim-grid article + article, .baseline-grid article + article { padding-left: 1.4rem; border-left: 1px solid var(--line); }
.claim-grid span { color: var(--positive); font: 600 .68rem var(--mono); }
.claim-grid h3, .baseline-grid h3 { margin: .65rem 0 .55rem; font-size: 1.06rem; letter-spacing: -.015em; }
.claim-grid p, .baseline-grid p { margin: 0; color: var(--muted); font-size: .81rem; line-height: 1.65; }

.glossary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 1360px; margin: 0 auto 3.5rem; border-top: 1px solid var(--line-strong); }
.glossary-grid article { min-width: 0; padding: 1.05rem 1rem 1.2rem 0; border-bottom: 1px solid var(--line); }
.glossary-grid article:not(:nth-child(5n+1)) { padding-left: 1rem; border-left: 1px solid var(--line); }
.term-symbol { display: block; min-height: 31px; color: var(--positive); font: 600 .72rem/1.35 var(--mono); }
.glossary-grid h3 { margin: .35rem 0 .55rem; font-size: .95rem; letter-spacing: -.015em; }
.glossary-grid p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.62; }
.word-clarification { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 4rem); max-width: 1360px; margin: 0 auto; }
.word-clarification article { padding-top: 1rem; border-top: 2px solid var(--ink); }
.word-clarification h3 { margin-bottom: .55rem; font-size: 1rem; }
.word-clarification p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.68; }

.figure-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3.2rem); max-width: 1360px; margin: 0 auto 4rem; }
.paper-figure { min-width: 0; margin: 0; padding-top: 1rem; border-top: 1px solid var(--line-strong); }
.paper-figure .figure-head { min-height: 60px; }
.paper-figure h3 { font-size: 1.05rem; letter-spacing: -.01em; }
.scientific-chart { display: block; width: 100%; min-height: 390px; overflow: visible; }
.paper-figure figcaption { margin-top: .85rem; padding-top: .7rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .75rem; line-height: 1.62; }
.paper-figure figcaption b { color: var(--ink); }
.architecture-figure { max-width: 1360px; margin: 0 auto 3.5rem; padding-top: 1rem; border-top: 2px solid var(--ink); }
.architecture-figure .figure-head { min-height: 58px; }
.architecture-figure h3 { font-size: 1.05rem; }
.architecture-figure figcaption { max-width: 1120px; margin: .85rem 0 0; padding-top: .8rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .76rem; line-height: 1.65; }
.arch-svg { display: block; width: 100%; height: auto; min-height: 300px; border-bottom: 1px solid var(--line); }
.arch-box { fill: var(--paper); stroke: var(--line-strong); stroke-width: 1.1; }
.tinted .arch-box { fill: var(--paper-2); }
.arch-box.rg-box { fill: color-mix(in srgb, var(--viz-series-2) 9%, var(--paper)); stroke: var(--viz-series-2); }
.arch-box.shared-box { fill: color-mix(in srgb, var(--viz-series-1) 10%, var(--paper)); stroke: var(--viz-series-1); }
.arch-box.work-box { fill: color-mix(in srgb, var(--static) 7%, var(--paper)); stroke: var(--static); }
.arch-box.reverse-box { fill: color-mix(in srgb, var(--viz-series-3) 10%, var(--paper)); stroke: var(--viz-series-3); }
.arch-box.output-box { fill: color-mix(in srgb, var(--positive) 13%, var(--paper)); stroke: var(--positive); }
.arch-box-title { fill: var(--ink); font: 500 13px var(--sans); text-anchor: middle; }
.arch-box-sub { fill: var(--muted); font: 11px var(--sans); text-anchor: middle; }
.arch-column-head { fill: var(--ink); font: 600 13px var(--sans); }
.arch-arrow { fill: none; stroke: var(--line-strong); stroke-width: 1.35; }
.arch-arrow-head { fill: var(--line-strong); }
.scientific-chart .frame { fill: none; stroke: var(--line-strong); stroke-width: 1; }
.scientific-chart .grid { stroke: var(--line); stroke-width: 1; }
.scientific-chart .axis { fill: var(--muted); font: 11px var(--mono); }
.scientific-chart .axis-title { fill: var(--ink); font: 500 12px var(--sans); }
.scientific-chart .direct-label { fill: var(--ink); font: 500 12px var(--sans); }
.scientific-chart .value-label { fill: var(--ink); font: 11px var(--mono); }
.scientific-chart .samu { fill: var(--viz-series-1); stroke: var(--viz-series-1); }
.scientific-chart .rglru { fill: var(--viz-series-2); stroke: var(--viz-series-2); }
.scientific-chart .neutral { fill: var(--viz-neutral); stroke: var(--viz-neutral); }
.scientific-chart .reference { stroke: var(--viz-neutral); stroke-width: 1; stroke-dasharray: 4 4; }
.scientific-chart .series-line { fill: none; stroke-width: 2; }
.scientific-chart .whisker { fill: none; stroke-width: 1; }

.data-block, .dispatch-block { max-width: 1360px; margin: 0 auto 2.25rem; padding-top: 1rem; border-top: 1px solid var(--line-strong); }
.data-block h3, .dispatch-block h3 { margin-bottom: .8rem; font-size: 1rem; letter-spacing: -.01em; }
.block-scope, .table-note { max-width: 900px; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.table-note { margin: .7rem 0 0; }
.table-scroll { overflow-x: auto; }
table { width: 100%; min-width: 690px; border-collapse: collapse; font-size: .77rem; line-height: 1.5; }
th, td { padding: .66rem .7rem .66rem 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: var(--muted); font: 500 .67rem/1.35 var(--mono); white-space: nowrap; }
td:not(:first-child) { font-variant-numeric: tabular-nums; }
td.best { color: var(--positive); font-weight: 600; }
.loading { color: var(--muted); font-size: .8rem; }
.two-column-data { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 5rem); max-width: 1360px; margin: 0 auto; }
.scope-split { display: grid; grid-template-columns: 1fr; gap: 3rem; max-width: 1360px; margin: 3.5rem auto 0; }
#block-table table { min-width: 1100px; }
#optimizer-table table { min-width: 900px; }
#block-table td:first-child, #optimizer-table td:first-child { min-width: 230px; }
#block-table td:first-child b, #optimizer-table td:first-child b { display: block; margin-bottom: .32rem; font-size: .8rem; }
#block-table td:first-child small, #optimizer-table td:first-child small { display: block; color: var(--muted); font-size: .7rem; line-height: 1.55; }

.equation-panel { display: grid; gap: .35rem; max-width: 1360px; margin: 0 auto 2.5rem; padding: 1.25rem 0; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line); }
.math-display { overflow-x: auto; color: var(--ink); font-size: clamp(.84rem, 1.2vw, 1rem); }
.math-display mjx-container[display="true"] { margin: .5rem 0 !important; text-align: left !important; }
.closure-equations.math-display mjx-container[display="true"] { margin: .3rem 0 !important; }
.equation-explain { max-width: 1100px; margin: -1.2rem auto 3rem; color: var(--muted); font-size: .82rem; line-height: 1.7; }
.formula-walkthrough { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 4rem); max-width: 1360px; margin: -1rem auto 3.5rem; }
.formula-walkthrough article { padding-top: 1rem; border-top: 1px solid var(--line-strong); }
.formula-walkthrough b { display: block; margin-bottom: .55rem; font-size: .9rem; }
.formula-walkthrough p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.72; }
.pipeline-board { max-width: 1360px; margin: 0 auto 3.25rem; border-top: 2px solid var(--ink); }
.pipeline-title { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 1rem; align-items: baseline; padding: 1rem 0 .8rem; border-bottom: 1px solid var(--line-strong); }
.pipeline-title span { color: var(--positive); font: 600 .7rem var(--mono); }
.reverse-board .pipeline-title span { color: var(--viz-series-3); }
.pipeline-title h3 { margin: 0; font-size: 1.12rem; }
.pipeline-steps { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.pipeline-steps.five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pipeline-steps article { min-width: 0; padding: 1.1rem 1rem 1.3rem 0; border-bottom: 1px solid var(--line); }
.pipeline-steps article + article { padding-left: 1rem; border-left: 1px solid var(--line); }
.pipeline-steps b { display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid var(--positive); border-radius: 50%; color: var(--positive); font: 600 .67rem var(--mono); }
.reverse-board .pipeline-steps b { border-color: var(--viz-series-3); color: var(--viz-series-3); }
.pipeline-steps h4 { min-height: 2.7em; margin: .75rem 0 .45rem; font-size: .84rem; line-height: 1.4; }
.pipeline-steps p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.62; }
.advantage-mechanics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1360px; margin: 0 auto 2rem; border-top: 1px solid var(--line-strong); }
.advantage-mechanics article { padding: 1rem 1.2rem 1.2rem 0; border-bottom: 1px solid var(--line); }
.advantage-mechanics article + article { padding-left: 1.2rem; border-left: 1px solid var(--line); }
.advantage-mechanics span { color: var(--positive); font: 600 .67rem var(--mono); }
.advantage-mechanics h3 { margin: .5rem 0; font-size: .94rem; }
.advantage-mechanics p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.62; }
.execution-limit { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 2rem; max-width: 1360px; margin: 0 auto 3.5rem; padding: .9rem 0; border-top: 1px solid var(--negative); border-bottom: 1px solid var(--line); }
.execution-limit b { color: var(--negative); font-size: .8rem; }
.execution-limit p { max-width: 950px; margin: 0; color: var(--muted); font-size: .8rem; }
.effect-ledger { display: grid; grid-template-columns: 1.15fr repeat(4, minmax(0, 1fr)); max-width: 1360px; margin: 0 auto 3.5rem; border-top: 2px solid var(--ink); }
.effect-ledger > * { min-width: 0; padding: 1rem 1rem 1.2rem 0; border-bottom: 1px solid var(--line); }
.effect-ledger > * + * { padding-left: 1rem; border-left: 1px solid var(--line); }
.effect-heading h3 { margin: .45rem 0 0; font-size: 1rem; }
.effect-ledger article b { display: block; margin-bottom: .55rem; font-size: .82rem; }
.effect-ledger article p { margin: 0; color: var(--muted); font-size: .73rem; line-height: 1.62; }
.adaptation-table td:first-child { width: 18%; font-weight: 600; }
.adaptation-table td:nth-child(2) { width: 34%; color: var(--muted); }
.baseline-balance { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 6vw, 6rem); max-width: 1360px; margin: 0 auto 3.5rem; }
.baseline-balance article { padding-top: 1rem; border-top: 2px solid var(--ink); }
.baseline-balance h3 { margin-bottom: .55rem; font-size: 1rem; }
.baseline-balance p { margin: 0; color: var(--muted); font-size: .81rem; line-height: 1.68; }
.method-figure { display: grid; gap: 1px; max-width: 1360px; margin: 0 auto 3rem; background: var(--line); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.method-lane { display: grid; grid-template-columns: 120px repeat(7, auto); gap: .75rem; align-items: center; min-height: 74px; padding: .8rem 1rem; background: var(--paper); overflow-x: auto; }
.tinted .method-lane { background: var(--paper-2); }
.method-lane span { color: var(--muted); font: 600 .67rem var(--mono); text-transform: uppercase; }
.method-lane b { min-width: 120px; font: 500 .73rem/1.45 var(--mono); }
.method-lane i { color: var(--viz-series-3); font-style: normal; }
.method-timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1360px; margin: 0 auto 3rem; border-top: 1px solid var(--line-strong); }
.method-timeline article { display: grid; grid-template-columns: 40px 1fr; gap: .75rem; padding: 1rem 1.2rem 1rem 0; border-bottom: 1px solid var(--line); }
.method-timeline article:nth-child(3n+2), .method-timeline article:nth-child(3n+3) { padding-left: 1.2rem; border-left: 1px solid var(--line); }
.method-timeline article > span { color: var(--positive); font: 600 .68rem var(--mono); }
.method-timeline h3 { margin: 0 0 .4rem; font-size: .96rem; }
.method-timeline p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.62; }
.method-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 5rem); max-width: 1360px; margin: 0 auto 3rem; }
.method-details article { padding-top: 1rem; border-top: 1px solid var(--line-strong); }
.method-details h3 { max-width: 580px; margin: .55rem 0 .7rem; font-size: 1rem; }
.method-details p:not(.part-label) { max-width: 630px; margin-bottom: 0; color: var(--muted); font-size: .79rem; line-height: 1.65; }
.method-details i { color: var(--ink); font-family: var(--mono); }
.closure-equations { display: grid; gap: .25rem; margin: .85rem 0; }
.closure-equations code { overflow-x: auto; color: var(--ink); font-size: .78rem; white-space: nowrap; }
.dispatch-block > p { max-width: 900px; margin-top: 1rem; color: var(--muted); font-size: .8rem; }

.metric-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1360px; margin: 0 auto 3.5rem; border-top: 2px solid var(--ink); }
.metric-strip > div { display: grid; gap: .35rem; padding: 1rem 1.15rem 1rem 0; border-bottom: 1px solid var(--line); }
.metric-strip > div + div { padding-left: 1.15rem; border-left: 1px solid var(--line); }
.metric-strip span { color: var(--muted); font: 500 .67rem var(--mono); }
.metric-strip strong { font: 500 clamp(1.05rem, 1.55vw, 1.4rem)/1.25 var(--mono); }
.metric-strip small { color: var(--muted); font-size: .7rem; }
.comparison-notes { display: grid; grid-template-columns: 1fr; max-width: 900px; margin: 2rem auto 0 0; }
.comparison-notes p { margin: 0; padding-top: .9rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .79rem; line-height: 1.65; }
.comparison-notes b { color: var(--ink); }

.sources-final { background: var(--paper-2); }
.source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; max-width: 1360px; margin: 0 auto; }
.source-grid > div { padding-top: 1rem; border-top: 1px solid var(--line-strong); }
.source-grid h3 { font-size: .92rem; }
.source-grid ul { padding: 0; list-style: none; }
.source-grid li { padding: .45rem 0; border-bottom: 1px solid var(--line); font-size: .76rem; line-height: 1.5; overflow-wrap: anywhere; }
.source-grid a { color: var(--muted); }
.source-grid a:hover { color: var(--ink); }
.environment-line { max-width: 1360px; margin: 3rem auto 0; padding-top: 1rem; border-top: 1px solid var(--line-strong); color: var(--muted); font: .72rem/1.55 var(--mono); }

@media (max-width: 1120px) {
  .hero-final { grid-template-columns: 1fr; min-height: auto; }
  .verdict-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .verdict-row:nth-child(odd) { padding-right: 1.2rem; }
  .verdict-row:nth-child(even) { padding-left: 1.2rem; border-left: 1px solid var(--line); }
  .figure-grid { grid-template-columns: 1fr; }
  .paper-figure { max-width: 820px; }
  .scientific-chart { min-height: 360px; }
  .claim-grid, .baseline-grid, .metric-strip, .source-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .claim-grid article:nth-child(3), .baseline-grid article:nth-child(3), .metric-strip > div:nth-child(3) { border-left: 0; padding-left: 0; }
  .method-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .method-timeline article:nth-child(3n+2), .method-timeline article:nth-child(3n+3) { padding-left: 0; border-left: 0; }
  .method-timeline article:nth-child(even) { padding-left: 1.2rem; border-left: 1px solid var(--line); }
  .glossary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .glossary-grid article:not(:nth-child(5n+1)) { padding-left: 0; border-left: 0; }
  .glossary-grid article:nth-child(even) { padding-left: 1rem; border-left: 1px solid var(--line); }
  .pipeline-steps, .pipeline-steps.five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pipeline-steps article:nth-child(4) { padding-left: 0; border-left: 0; }
  .advantage-mechanics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .advantage-mechanics article:nth-child(3) { padding-left: 0; border-left: 0; }
  .effect-ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .effect-ledger > * { padding-left: 0; border-left: 0; }
  .effect-ledger > *:nth-child(even) { padding-left: 1rem; border-left: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .hero-final { padding-top: 4.5rem; }
  .hero-copy-final h1 { font-size: clamp(1.65rem, 7vw, 2.15rem); }
  .section-heading { grid-template-columns: 1fr; gap: 1rem; }
  .two-column-data, .scope-split, .comparison-notes, .method-details, .word-clarification, .baseline-balance, .formula-walkthrough { grid-template-columns: 1fr; gap: 1.5rem; }
  .claim-grid, .baseline-grid, .metric-strip, .source-grid, .method-timeline { grid-template-columns: 1fr; }
  .claim-grid article + article, .baseline-grid article + article, .metric-strip > div + div, .method-timeline article:nth-child(even) { padding-left: 0; border-left: 0; }
  .verdict-panel { grid-template-columns: 1fr; }
  .verdict-row:nth-child(odd), .verdict-row:nth-child(even) { padding-inline: 0; border-left: 0; }
  .scientific-chart { min-height: 320px; }
  .arch-svg { min-width: 920px; min-height: 0; }
  .architecture-figure { overflow-x: auto; }
  .architecture-figure .figure-head, .architecture-figure figcaption { position: sticky; left: 0; max-width: calc(100vw - 2rem); }
  .method-lane { grid-template-columns: 100px repeat(7, auto); }
  .report-section { padding-inline: 1rem; }
  .glossary-grid, .pipeline-steps, .pipeline-steps.five, .advantage-mechanics { grid-template-columns: 1fr; }
  .glossary-grid article:nth-child(even), .pipeline-steps article + article, .pipeline-steps article:nth-child(4), .advantage-mechanics article + article, .advantage-mechanics article:nth-child(3) { padding-left: 0; border-left: 0; }
  .pipeline-title, .execution-limit { grid-template-columns: 1fr; gap: .35rem; }
  .effect-ledger { grid-template-columns: 1fr; }
  .effect-ledger > *, .effect-ledger > *:nth-child(even) { padding-left: 0; border-left: 0; }
  .pipeline-steps h4 { min-height: 0; }
  footer { align-items: flex-start; flex-direction: column; }
}
