/* Paper content follows an editorial hierarchy; the visual question header stays intact. */
.homepage {
  counter-reset: chapter;
}
.homepage .paper-section {
  counter-increment: chapter;
  background: #fff;
  padding: 78px 24px;
  border-top: 1px solid #e1e5e9;
}
.homepage .paper-section .section-intro {
  display: grid;
  grid-template-columns: 145px 1fr;
  gap: 0 30px;
  text-align: left;
  max-width: none;
  margin: 0 0 40px;
}
.homepage .paper-section .section-intro .eyebrow {
  grid-column: 1;
  grid-row: 1/3;
  margin: 0;
  color: #6c7989;
  font-size: 10px;
  letter-spacing: 0.12em;
  line-height: 1.7;
}
.homepage .paper-section .section-intro .eyebrow::before {
  content: counter(chapter, decimal-leading-zero);
  display: block;
  font-size: 67px;
  font-weight: 450;
  line-height: 1;
  letter-spacing: -0.08em;
  color: #acb7c6;
  margin-bottom: 17px;
}
.homepage .paper-section .section-intro h2 {
  grid-column: 2;
  font-size: clamp(30px, 3.5vw, 46px);
  font-weight: 560;
  letter-spacing: -0.045em;
  max-width: 790px;
  margin: 0 0 23px;
}
.homepage .paper-section .section-intro > p:not(.eyebrow) {
  grid-column: 2;
  font-size: 18px;
  line-height: 1.75;
  max-width: 75ch;
  margin: 0;
}
.homepage #method .definition-grid {
  margin-left: 175px;
  gap: 35px;
  margin-bottom: 42px;
}
.homepage #method .definition-grid h3 {
  font-size: 18px;
  font-weight: 650;
}
.homepage #method .definition-grid p {
  font-size: 14px;
  color: #657184;
  line-height: 1.8;
}
.homepage #abstract {
  border-top: 1px solid #e1e5e9;
  background: #f8f9fb;
}
.homepage #abstract .title {
  text-align: left !important;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #60738f;
}
.homepage #abstract .content {
  text-align: left !important;
  font-size: 19px;
  line-height: 1.8;
}
.homepage .paper-details {
  border: 0;
  border-top: 1px solid #d8dfe7;
  border-bottom: 1px solid #d8dfe7;
  border-radius: 0;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
  background: transparent;
}
.homepage .paper-details summary {
  padding: 21px 0;
  font-size: 16px;
  font-weight: 550;
}
.homepage .example-tabs {
  justify-content: flex-start;
  border-bottom: 1px solid #cdd7e5;
  gap: 30px;
  margin-bottom: 32px;
}
.homepage .example-tabs button {
  border: 0;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  padding: 14px 2px;
  color: #738195;
  background: transparent;
  font-size: 15px;
}
.homepage .example-tabs button[aria-selected="true"] {
  border-bottom-color: #285bd4;
  color: #2452b8;
  background: transparent;
  font-weight: 650;
}
.homepage .program-example > h3 {
  text-align: left;
  font-size: 30px;
  font-weight: 550;
}
.homepage .instance-strip figure {
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
}
.homepage .instance-strip img {
  height: 240px;
}
.homepage .program-example blockquote {
  background: #f5f7fa;
  border-left: 3px solid #567eac;
  padding: 20px 25px;
}
.homepage .paper-table {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.homepage .paper-table caption {
  padding: 14px 0;
  border-bottom: 2px solid #293f5c;
  font-size: 14px;
}
.homepage .paper-table thead th {
  background: #f0f3f7;
}
.homepage .results-nav {
  justify-content: flex-start;
  gap: 10px 25px;
  padding: 16px 0;
  border-top: 1px solid #cbd5e2;
  border-bottom: 1px solid #cbd5e2;
}
.homepage .result-study {
  margin-top: 65px;
  padding-top: 0;
  border: 0;
}
.homepage .result-study > .eyebrow {
  border-left: 3px solid #a8bad4;
  padding-left: 12px;
}
.homepage .stat-row {
  gap: 45px;
  margin: 32px 0;
}
.homepage .stat-row strong {
  font-size: 40px;
  letter-spacing: -0.05em;
  font-weight: 500;
}
.homepage .stat-row > div {
  border-top: 1px solid #b5c6dc;
}
.homepage .campaign-flow {
  gap: 0;
  border-top: 1px solid #ccd6e3;
  border-bottom: 1px solid #ccd6e3;
}
.homepage .campaign-flow li {
  border-radius: 0;
  background: transparent;
  padding: 25px;
  border-right: 1px solid #d9e1ea;
}
.homepage .campaign-flow li:first-child {
  padding-left: 0;
}
.homepage .campaign-flow li:last-child {
  border-right: 0;
}
.homepage .step-index {
  font-size: 15px;
  color: #8ca2bf;
  font-weight: 500;
}
.homepage .stress-grid > div {
  border: 0;
  border-radius: 0;
  padding: 0 20px 20px;
  border-right: 1px solid #dce3eb;
}
.homepage .stress-grid > div:last-child {
  border-right: 0;
}
.homepage .finding {
  border-radius: 0;
  background: #f4f7fb;
  border-left: 3px solid #527ab0;
}
.homepage .training-flow > div {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 20px 0;
}
.homepage .training-flow {
  border-top: 1px solid #d2dce9;
  border-bottom: 1px solid #d2dce9;
}
.homepage .training-flow strong {
  font-size: 23px;
  font-weight: 550;
}
/* One connected technical figure: source → render → pixel inspection, with a separate forward branch. */
.verification-map.method-laboratory {
  background: #122033;
  color: #dce7f6;
  border: 0;
  border-radius: 5px;
  padding: 30px;
  box-shadow: none;
  margin: 35px 0 45px;
  overflow: hidden;
}
.method-laboratory .lab-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 25px;
  border-bottom: 1px solid #3a4b61;
  padding-bottom: 24px;
  margin-bottom: 25px;
}
.method-laboratory .lab-kicker {
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.17em;
  color: #8fa5c3;
}
.method-laboratory .lab-heading h3 {
  color: #fff;
  font-size: 27px;
  letter-spacing: -0.025em;
  margin: 9px 0;
}
.method-laboratory .lab-heading p {
  font-size: 13px;
  margin: 0;
  color: #a7b8ce;
}
.method-laboratory .map-instances button {
  background: transparent;
  border: 1px solid #50617a;
  color: #d5e3f7;
  border-radius: 4px;
}
.method-laboratory .map-instances button[aria-pressed="true"] {
  background: #e6edf7;
  border-color: #e6edf7;
  color: #172b45;
}
.lab-workbench {
  display: grid;
  grid-template-columns: 0.86fr 1.12fr 1fr;
  gap: 27px;
}
.lab-stage {
  font-size: 9px;
  font-weight: 650;
  letter-spacing: 0.1em;
  color: #8ba1bf;
  display: block;
  margin-bottom: 20px;
}
.lab-json {
  font-family: ui-monospace, SFMono-Regular, monospace;
  font-size: 12px;
  color: #e6b38b;
  background: #1e2b3b;
  padding: 16px;
  border-left: 2px solid #b9855e;
}
.lab-json p {
  margin: 8px 0 !important;
  display: flex;
  justify-content: space-between;
  gap: 5px;
  font-size: 12px;
}
.lab-json strong {
  color: #ffc68c;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
}
.lab-json b {
  color: #d7bd9f;
  font-weight: 400;
}
.json-brace,
.lab-json .json-secondary {
  color: #9d8f82;
  font-size: 10px;
}
.lab-branch {
  text-align: left;
  font-size: 10px;
  color: #b98f6d;
  padding: 19px 0 19px 17px;
  border-left: 2px solid #b9855e;
}
.method-laboratory .lab-forward h4 {
  color: #efb17d;
  font-size: 19px;
  margin-bottom: 14px;
}
.lab-forward code {
  display: block;
  color: #e5b48c;
  background: transparent;
  font-size: 11px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  padding: 0;
}
.lab-forward p {
  font-size: 12px;
  line-height: 1.7;
  color: #a7b3c4;
  margin: 12px 0 18px;
}
.lab-output {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #506078;
  padding-top: 13px;
  margin-top: 16px;
}
.lab-output span {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.lab-output strong {
  font-size: 45px;
  font-weight: 500;
  line-height: 1;
  color: #b5d6ff;
}
.lab-forward .lab-output strong {
  color: #efb17d;
}
.lab-connection {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  color: #8fa5c3;
  margin-bottom: 10px;
}
.lab-connection strong {
  font-weight: 500;
  color: #d4dfec;
}
.guitar-viewport {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  background: #f8f5ee;
}
.guitar-viewport img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.guitar-viewport svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.pixel-boundary {
  display: flex;
  gap: 10px;
  border-top: 1px dashed #6286b9;
  margin-top: 19px;
  padding-top: 16px;
  color: #a7c6ed;
}
.pixel-boundary p {
  font-size: 11px;
  line-height: 1.7;
  margin: 0;
}
.pixel-boundary strong {
  color: #a9cfff;
  font-weight: 550;
}
.boundary-lock {
  font-size: 27px;
  line-height: 1;
}
.method-laboratory .lab-inverse h4 {
  color: #8abcff;
  font-size: 19px;
  margin-bottom: 14px;
}
.method-laboratory .lab-instruction {
  font-size: 11px;
  line-height: 1.75;
  color: #acb9cc;
  margin: 13px 0;
}
.lab-instruction b {
  color: #d5e5fa;
  font-weight: 600;
}
.bridge-zoom {
  border: 1px solid #648fc5;
}
.bridge-zoom svg {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 122/46;
  background: #f8f5ee;
}
.bridge-zoom span {
  display: block;
  font-size: 9px;
  color: #9fb8d8;
  padding: 7px 9px;
}
#method-profile {
  display: block;
  width: 100%;
  height: auto;
  background: #192a41;
}
.measured-runs {
  height: 13px;
  position: relative;
  border-top: 1px solid #435f86;
  background: #192a41;
}
.measured-runs i {
  display: block;
  position: absolute;
  top: 0;
  height: 8px;
  background: #77aeff;
}
.row-agreement {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 15px;
  font-size: 9px;
  color: #adc2df;
}
.row-agreement strong {
  font-size: 13px;
  white-space: nowrap;
  color: #bfdbff;
  font-weight: 550;
}
.lab-inverse .lab-output {
  color: #a9cfff;
}
.lab-comparison > svg {
  width: 100%;
  height: 48px;
  display: block;
  margin-top: 8px;
  fill: none;
  stroke-width: 1.5;
}
.lab-comparison > div {
  text-align: center;
  border: 1px solid #415368;
  background: #17283c;
  padding: 18px;
  margin: 0 auto;
  max-width: 660px;
}
.method-laboratory .lab-comparison h4 {
  color: #e2edfa;
  font-size: 18px;
  margin: 5px 0 8px;
}
.lab-comparison p {
  font-size: 12px;
  color: #a9bcd3;
  line-height: 1.75;
  margin: 0 0 8px;
}
.lab-comparison a {
  color: #94c2ff;
  font-size: 11px;
}
.comparison-mark {
  font-size: 28px;
  line-height: 1;
  color: #9bc6b5;
}
.method-laboratory figcaption {
  color: #8eabc8;
  font-size: 10px;
  line-height: 1.75;
  margin-top: 20px;
}
.method-laboratory figcaption a {
  color: #aacfff;
}
@media (max-width: 1000px) {
  .lab-workbench {
    grid-template-columns: 1fr 1fr;
  }
  .lab-source {
    grid-column: 1;
  }
  .lab-render {
    grid-column: 2;
  }
  .lab-inverse {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 25px;
    border-top: 1px solid #415368;
    padding-top: 20px;
  }
  .lab-inverse .lab-stage,
  .lab-inverse h4,
  .lab-inverse .lab-output {
    grid-column: 1/-1;
  }
  .bridge-zoom {
    grid-column: 2;
    grid-row: 3/5;
  }
  #method-profile {
    grid-column: 1;
  }
  .lab-inverse .measured-runs {
    grid-column: 1;
  }
  .row-agreement {
    grid-column: 2;
  }
  .lab-comparison > svg {
    display: none;
  }
  .lab-comparison {
    margin-top: 25px;
  }
}
@media (max-width: 700px) {
  .homepage .paper-section {
    padding: 55px 20px;
  }
  .homepage .paper-section .section-intro {
    display: block;
  }
  .homepage .paper-section .section-intro .eyebrow {
    display: flex;
    align-items: baseline;
    gap: 13px;
    margin-bottom: 22px;
  }
  .homepage .paper-section .section-intro .eyebrow::before {
    font-size: 33px;
    margin-bottom: 0;
  }
  .homepage .paper-section .section-intro h2 {
    font-size: 33px;
    line-height: 1.18;
  }
  .homepage .paper-section .section-intro > p:not(.eyebrow) {
    font-size: 16px;
  }
  .homepage #method .definition-grid {
    margin-left: 0;
    gap: 15px;
  }
  .homepage .campaign-flow li {
    border-right: 0;
    border-bottom: 1px solid #d9e1ea;
    padding: 20px 0;
  }
  .homepage .stress-grid > div {
    border-right: 0;
    border-bottom: 1px solid #dce3eb;
    padding: 15px 0;
  }
  .homepage .instance-strip img {
    height: 120px;
  }
  .homepage .example-tabs {
    gap: 17px;
  }
  .homepage .example-tabs button {
    font-size: 12px;
  }
  .verification-map.method-laboratory {
    padding: 23px 17px;
    margin-left: -10px;
    margin-right: -10px;
  }
  .method-laboratory .lab-heading {
    display: block;
  }
  .method-laboratory .lab-heading h3 {
    font-size: 25px;
  }
  .lab-workbench {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  .lab-json {
    max-width: none;
  }
  .lab-render {
    border-top: 1px solid #415368;
    padding-top: 20px;
  }
  .guitar-viewport {
    max-width: 290px;
    margin: auto;
  }
  .lab-inverse {
    display: block;
  }
  .bridge-zoom {
    max-width: 340px;
  }
  #method-profile {
    margin-top: 15px;
  }
  .lab-instruction {
    font-size: 12px !important;
  }
  .lab-comparison > div {
    padding: 18px 10px;
  }
  .homepage .stat-row {
    gap: 15px;
  }
  .homepage .stat-row strong {
    font-size: 35px;
  }
}
.homepage .world-card {
  content-visibility: visible;
  contain-intrinsic-size: none;
}
.lab-workbench {
  position: relative;
}
.lab-wire-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.lab-wire-layer > path {
  fill: none;
  stroke-width: 1.5;
}
@media (max-width: 1000px) {
  .lab-wire-layer {
    display: none;
  }
}
.method-laboratory .lab-instruction {
  font-size: 12.5px;
}
.method-laboratory .lab-heading p {
  font-size: 14px;
}
.lab-forward p,
.lab-comparison p {
  font-size: 13px;
}
.lab-forward code {
  font-size: 12px;
}
.method-laboratory figcaption {
  font-size: 11px;
}
.row-agreement {
  font-size: 10px;
}

/* Clarify the two inputs while retaining the compact, connected diagram. */
.method-laboratory .arm-definition{font-size:13px;line-height:1.65;color:#c4d5eb;margin:0 0 16px}
.method-laboratory .arm-definition code{color:#c4d5eb;background:#203650;padding:1px 3px;font-size:12px}
.method-laboratory .lab-stage{font-size:10px;line-height:1.6;letter-spacing:.055em}
.method-laboratory .lab-heading p{max-width:710px;line-height:1.65;font-size:14px}
.method-laboratory .lab-comparison strong{color:#e4f0ff}

/* The diagram emphasizes two equally prominent answer programs. */
.method-laboratory{padding:28px!important}
.method-laboratory .lab-heading{padding-bottom:22px;margin-bottom:26px;align-items:center}
.method-laboratory .lab-heading h3{font-size:30px}
.method-laboratory .lab-heading p{font-size:15px;max-width:600px;line-height:1.6}
.method-laboratory .lab-kicker{font-size:10px;letter-spacing:.1em}
.method-laboratory .map-instances{flex-shrink:0}
.method-laboratory .lab-workbench{grid-template-columns:1fr 1.05fr 1fr;gap:26px;align-items:stretch}
.method-laboratory .lab-source,.method-laboratory .lab-inverse{padding:18px;border:1px solid #476079;border-radius:8px;display:flex;flex-direction:column;min-width:0}
.method-laboratory .lab-source{background:#2a2827;border-top:4px solid #f0b27e}
.method-laboratory .lab-inverse{background:#172d46;border-top:4px solid #8bbcff}
.arm-title{padding-bottom:14px;border-bottom:1px solid #ffffff25;margin-bottom:16px}
.method-laboratory .arm-title>span{font-size:24px;font-weight:750;letter-spacing:-.035em;display:block;line-height:1.2}
.forward-title>span{color:#ffc38d}.inverse-title>span{color:#a4ccff}
.method-laboratory .arm-title h4{font-size:17px;color:#fff;margin:9px 0 0!important;font-weight:500}
.arm-input-label,.method-laboratory .arm-definition{font-size:10px;letter-spacing:.045em;line-height:1.6;color:#c7d3e3;margin:0 0 12px}
.method-laboratory .lab-json{padding:14px;background:#ffffff06;border:1px solid #ffffff16;border-radius:4px}
.method-laboratory .lab-json p{font-size:12px;margin:7px 0!important}
.method-laboratory .lab-json strong{font-size:24px}
.method-laboratory .lab-branch{padding:18px 0;border:0;font-size:12px}
.method-laboratory .lab-forward{flex:1;display:flex;flex-direction:column}
.method-laboratory .lab-forward h4{font-size:15px;line-height:1.5;margin:0 0 10px}
.method-laboratory .lab-forward p{font-size:13px;color:#c4c3c4;line-height:1.65}
.method-laboratory .lab-forward code{font-size:12px}
.method-laboratory .lab-output{margin-top:auto;padding-top:13px;border-top:1px solid #ffffff35;min-height:63px}
.method-laboratory .lab-output strong{font-size:44px;font-weight:650}
.method-laboratory .lab-output span{font-size:11px;letter-spacing:.02em}
.method-laboratory .lab-render{padding-top:20px;display:flex;flex-direction:column;justify-content:center}
.render-title{text-align:center;margin-bottom:18px}
.render-title>span{font-size:20px;color:#f2f5fa;letter-spacing:-.02em;font-weight:650}
.method-laboratory .render-title h4{font-size:12px;line-height:1.5;color:#b6c6da;margin-top:7px;font-weight:400}
.method-laboratory .lab-connection{font-size:10px;gap:5px}
.method-laboratory .lab-instruction{font-size:12px!important;line-height:1.6;margin:10px 0}
.method-laboratory .bridge-zoom svg{max-height:96px}
.method-laboratory .bridge-zoom span{font-size:10px;padding:6px}
.method-laboratory .row-agreement{margin:12px 0 16px;font-size:10px}
.method-laboratory .pixel-boundary{margin-top:14px;padding-top:12px}
.method-laboratory .pixel-boundary p{font-size:11px}
.method-laboratory .lab-comparison>svg{height:25px}
.method-laboratory .lab-comparison>div{max-width:none;padding:16px 20px;display:grid;grid-template-columns:210px 1fr;gap:6px 24px;text-align:left;border-radius:6px}
.method-laboratory .lab-comparison h4{font-size:18px;line-height:1.4;margin:0;grid-row:1/3}
.verifier-label{display:block;font-size:10px;letter-spacing:.1em;color:#9cdbc1;margin-bottom:8px}
.method-laboratory .lab-comparison p{margin:0;font-size:12px}
.agreement-equation{display:flex;gap:22px;align-items:center;margin-bottom:6px;font-size:14px}
.agreement-equation strong{font-size:25px;padding-left:6px}
.agreement-equation>span:first-child,.agreement-equation>span:first-child strong{color:#ffc38d}
.agreement-equation>span:last-child,.agreement-equation>span:last-child strong{color:#a4ccff}
.agreement-explanation{display:block}
.method-laboratory .comparison-mark{display:none}
.method-laboratory figcaption{font-size:11px;margin-top:16px}
@media(max-width:1000px){.method-laboratory .lab-workbench{grid-template-columns:1fr 1fr}.method-laboratory .lab-inverse{grid-column:1/-1}.method-laboratory .bridge-zoom,.method-laboratory #method-profile{max-width:420px}.method-laboratory .lab-output{margin-top:18px}.method-laboratory .lab-heading{flex-wrap:wrap}}
@media(max-width:600px){.method-laboratory{padding:20px 16px!important}.method-laboratory .lab-workbench{display:flex;flex-direction:column}.method-laboratory .lab-render{padding:0}.method-laboratory .arm-title>span{font-size:25px}.method-laboratory .lab-source,.method-laboratory .lab-inverse{padding:16px}.method-laboratory .lab-comparison>div{display:block}.agreement-equation{margin-top:16px}.method-laboratory .map-instances{margin-top:16px}.component-grid{grid-template-columns:1fr}.method-components h3{font-size:24px}}
/* Readable component notes: one component, one explanation, one example. */
.method-components{margin:48px auto 64px;max-width:1040px;color:#233344}
.components-intro{max-width:720px;margin-bottom:32px}
.method-components .components-intro h3{font-size:30px;font-weight:650;letter-spacing:-.025em;line-height:1.25;margin:10px 0 16px}
.components-intro>p:last-child{font-size:17px;line-height:1.8;color:#526171}
.component-reading-list{list-style:none!important;padding:0!important;margin:0!important}
.component-note{display:grid;grid-template-columns:38px minmax(0,1.35fr) minmax(0,1fr);gap:22px;padding:28px 0;border-top:1px solid #d9e0e6;align-items:start}
.note-number{font-size:13px;font-weight:600;color:#758696;padding-top:5px;font-variant-numeric:tabular-nums}
.method-components .note-description h4{font-size:23px;font-weight:650;line-height:1.3;letter-spacing:-.02em;margin:0 0 12px}
.note-description p{font-size:16px;line-height:1.85;color:#4b5b6b;margin:0}
.note-description p strong{font-weight:600;color:#283d51}
.note-example{background:#f4f6f8;border-left:3px solid #bccad7;border-radius:0 5px 5px 0;padding:17px 20px;margin:0 0 0 8px}
.example-label{display:block;font-size:12px;font-weight:600;color:#526779;margin-bottom:8px}
.note-example p{font-size:14px;line-height:1.8;color:#3e5366;margin:0 0 14px}
.note-example code{color:inherit;background:#e8edf2;font-size:12px;padding:2px 4px}
.note-flow{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;border-top:1px solid #dce3e9;padding-top:11px;font-size:11px;line-height:1.6;color:#677c8f}
.note-flow strong{color:#3c536a;font-weight:600}
.note-forward .note-description h4{color:#96551f}.note-inverse .note-description h4{color:#2c619c}
.note-forward .note-example{border-color:#c69a6e;background:#fbf7f2}.note-inverse .note-example{border-color:#80a9d3;background:#f2f7fc}
.method-evidence-note{margin:12px 0 0 60px;padding-top:20px;border-top:1px solid #d9e0e6;font-size:13px;line-height:1.8;color:#617181;max-width:860px}
.method-evidence-note strong{color:#3e5366;font-weight:600}.method-evidence-note a{display:inline-block;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.component-note{grid-template-columns:30px minmax(0,1fr);gap:12px 14px;padding:25px 0}.note-example{grid-column:2;margin:3px 0 0}.note-number{font-size:12px}.note-description p{font-size:16px;line-height:1.8}.method-components .note-description h4{font-size:22px;margin-bottom:9px}.method-components .components-intro h3{font-size:27px}.method-evidence-note{margin-left:44px}.components-intro>p:last-child{font-size:16px}}
@media(max-width:400px){.component-note{grid-template-columns:24px minmax(0,1fr);column-gap:10px}.note-example{padding:15px}.method-evidence-note{margin-left:34px}}
/* Homepage summaries lead into dedicated program and result pages. */
.program-overview{display:grid;grid-template-columns:1fr 1.25fr;gap:36px;align-items:center}.program-overview h3{font-size:22px;margin-bottom:14px}.program-overview p{font-size:16px;line-height:1.8;color:#4b5b6b}.program-overview .chapter-link{display:inline-block;margin-top:16px;line-height:1.6}.program-overview .instance-strip{margin:0}.study-detail-link{display:inline-block;margin:14px 20px 0 0;font-size:14px;text-decoration:underline;text-underline-offset:4px}.external-summary{border-left:3px solid #97afc9;padding:2px 0 2px 22px;margin-top:28px}.external-summary h4{font-size:21px;margin-bottom:14px}.steering-summary-grid{display:grid;grid-template-columns:1.1fr repeat(3,1fr);max-width:600px;margin:24px 0;border:1px solid #d8e1e9;border-radius:4px;overflow:hidden}.steering-summary-grid>*{padding:12px 8px;text-align:center;border-bottom:1px solid #e3e9ee;font-size:12px}.steering-summary-grid>span:not(:first-child){background:#edf4fb;color:#3f709f;font-size:22px}.reading-page{background:#fff;color:#233344}.reading-page .paper-section{border-top:1px solid #e0e5e9;padding:56px 24px}.reading-page .section-intro{text-align:left;margin-bottom:30px}.reading-page .section-intro h2{font-size:30px;line-height:1.25;margin:12px 0 18px}.reading-page-intro{padding:52px 24px}.reading-page-intro h1{font-size:clamp(32px,4vw,48px);line-height:1.15;letter-spacing:-.035em;margin:20px 0}.reading-page-intro p{max-width:750px;font-size:18px;line-height:1.7;color:#586778}.reading-footer{padding:30px 24px;text-align:center;border-top:1px solid #e0e5e9;font-size:14px}.reading-page .inverse-wrap{padding:0}.reading-page #inverse-walkthroughs h2{font-size:30px;margin-bottom:24px}
@media(max-width:700px){.program-overview{grid-template-columns:1fr;gap:22px}.steering-summary-grid>*{font-size:10px;padding:10px 3px}.reading-page-intro{padding:32px 20px}.reading-page .paper-section{padding:36px 20px}}
.accuracy-summary{max-width:760px;margin:28px 0}.accuracy-summary figcaption{font-size:13px;color:#55697c;margin-bottom:18px}.accuracy-row{display:grid;grid-template-columns:150px 1fr 60px;gap:18px;align-items:center;padding:11px 0;border-bottom:1px solid #e4e9ef}.accuracy-row>span{font-size:14px;color:#34495d}.accuracy-row small{display:block;font-size:10px;color:#718294;margin-top:3px}.accuracy-track{height:12px;background:#edf1f5;border-radius:2px;overflow:hidden}.accuracy-track i{height:100%;display:block;background:#547ba3}.accuracy-row:nth-of-type(n+4) .accuracy-track i{background:#8a9cb0}.accuracy-row>strong{font-size:14px;font-variant-numeric:tabular-nums;color:#34495d;text-align:right}@media(max-width:500px){.accuracy-row{grid-template-columns:108px 1fr 48px;gap:9px}.accuracy-row>span,.accuracy-row>strong{font-size:12px}}
.paper-abstract{font-size:16px;line-height:1.9;text-align:left}.motivation-body{max-width:850px;margin-left:auto;font-size:18px;line-height:1.8;color:#43566a}.motivation-body p+p{margin-top:18px}
.teaser-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 0}.teaser-tabs button{padding:12px 19px;background:white;border:1px solid #ccd6e0;border-radius:5px;color:#41576d;font:inherit;font-size:14px;cursor:pointer}.teaser-tabs button[aria-selected=true]{background:#193249;color:white;border-color:#193249}.method-alt{margin:28px 0 40px;padding:28px;background:#122237;color:#d6e2f0;border-radius:6px}.method-alt[hidden],#teaser-panel-0[hidden],[data-teaser-slide][hidden]{display:none!important}.alt-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.method-alt .alt-heading h3{font-size:27px;color:#fff;line-height:1.3}.alt-instances{display:flex;gap:5px;flex-wrap:wrap}.alt-instances button{background:transparent;border:1px solid #63778f;padding:8px;color:#d6e2f0;border-radius:4px;cursor:pointer}.alt-instances button[aria-pressed=true]{background:#e6eef8;color:#172b42}.alt-diagram{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:24px}.alt-forward,.alt-inverse{padding:19px;border:1px solid #53667c;border-top:4px solid #efb17d;border-radius:6px;display:flex;flex-direction:column}.alt-inverse{border-top-color:#8abcff}.alt-label{font-size:23px;font-weight:650;color:#efb17d}.alt-inverse .alt-label{color:#8abcff}.method-alt h4{font-size:16px;color:#fff;margin:8px 0 20px}.method-alt p{font-size:14px;line-height:1.8;margin-bottom:16px}.method-alt a{color:#b4d3ff}.method-alt summary{cursor:pointer;font-size:13px}.method-alt pre{font-size:11px;overflow:auto;max-width:100%;background:#1b3249;color:#e0eaf5;margin:12px 0}.alt-image{align-self:center;min-width:0}.alt-image img{width:100%;max-height:390px;object-fit:contain;background:#fff}.alt-image figcaption{font-size:11px;margin:10px 0}.alt-image>p{text-align:center;font-size:12px}.alt-answer{margin-top:auto;border-top:1px solid #53667c;padding-top:16px;font-size:11px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}.alt-answer strong{font-size:28px;color:#efb17d}.alt-inverse .alt-answer strong{color:#8abcff}.alt-forward>a,.alt-inverse>a{font-size:12px;margin:12px 0 20px}.alt-question{margin-top:24px;border-top:1px solid #53667c;padding-top:14px}.alt-question p{margin-top:12px}.method-alt .alt-note{font-size:11px;margin:16px 0 0;color:#a6bad0}
.support-atlas{display:grid;grid-template-columns:100px repeat(3,minmax(0,1fr));gap:12px;max-width:900px;margin:30px 0}.atlas-column,.atlas-row{font-size:15px;font-weight:650;color:#2f465b}.atlas-column{text-align:center}.atlas-row{align-self:center}.atlas-column small,.atlas-row small{display:block;font-weight:400;font-size:11px;color:#63788a;margin-top:5px}.atlas-corner{font-size:11px;color:#63788a;align-self:center}.atlas-example{display:block;border:1px solid #d6e0e9;border-radius:4px;overflow:hidden;background:#fafbfd}.atlas-example img{width:100%;height:140px;object-fit:contain;display:block;background:#fff}.atlas-example>span{display:flex;justify-content:space-between;font-size:11px;color:#385875;padding:9px}.atlas-example:hover{border-color:#4b7dab;box-shadow:0 2px 10px #21486a14}.support-gallery{padding:45px 24px 65px}.support-gallery>header{max-width:850px;margin-bottom:30px}.support-gallery h1{font-size:clamp(30px,4vw,44px);line-height:1.2;margin:14px 0 22px;letter-spacing:-.03em}.support-gallery header>p{font-size:18px;line-height:1.8}.support-gallery header .support-caveat{font-size:14px;color:#5d7080;margin:18px 0}.support-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:28px 0 40px}.support-filters button{background:#fff;border:1px solid #d0dce6;border-radius:4px;padding:13px;text-align:left;color:#35556e;font:inherit;font-size:14px;cursor:pointer}.support-filters button[aria-pressed=true]{background:#193249;color:#fff}.support-filters small{display:block;font-size:11px;margin-top:4px}.support-panel{scroll-margin-top:25px}.support-panel[hidden]{display:none}.support-panel h2{font-size:28px;margin-bottom:12px}.support-panel>p{color:#5d7080;font-size:14px;margin-bottom:26px}.support-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.support-card{border:1px solid #d7e1e9;border-radius:5px;overflow:hidden;background:#fff}.support-card img{width:100%;height:230px;object-fit:contain}.support-card>div{padding:18px}.support-card h3{font-size:18px;line-height:1.4;margin-bottom:16px}.support-card details{font-size:13px;line-height:1.8;margin-bottom:12px}.support-card summary{cursor:pointer}.support-card a{font-size:13px}.support-measurement{font-size:11px;color:#697d8e;margin-top:15px;line-height:1.7}
@media(max-width:900px){.alt-diagram{grid-template-columns:1fr}.alt-image{grid-row:2}.alt-heading{flex-wrap:wrap}.support-cards{grid-template-columns:1fr 1fr}.support-atlas{grid-template-columns:76px repeat(3,minmax(0,1fr));gap:7px}.atlas-example img{height:105px}}
@media(max-width:550px){.method-alt{padding:20px 16px}.support-atlas{grid-template-columns:57px repeat(3,minmax(0,1fr));gap:5px}.atlas-example img{height:74px}.atlas-example>span{font-size:9px;padding:5px;line-height:1.5}.atlas-column,.atlas-row{font-size:11px}.atlas-column small,.atlas-row small{font-size:9px}.atlas-column small{min-height:28px}.support-cards{grid-template-columns:1fr}.support-filters button{padding:10px 6px;font-size:11px}.support-gallery{padding:30px 20px}.teaser-tabs button{padding:10px 12px;font-size:12px}}
.alt-diagram>*{min-width:0}.method-alt details{min-width:0;max-width:100%}.method-alt pre{white-space:pre;overflow-x:auto}.method-alt code{overflow-wrap:anywhere}.method-alt .alt-label{overflow-wrap:break-word}
.ring-detail{max-width:185px;margin:16px auto 0}.ring-detail svg{display:block;width:100%;height:auto;aspect-ratio:1;background:white}.ring-detail>span{display:block;font-size:10px;line-height:1.65;color:#aabed6;margin:8px 0 15px;text-align:center}.method-alt .alt-image figcaption{color:#bdcde0}
/* Question and instance controls expose the image being selected. */
.teaser-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:28px 0 0}
.teaser-tabs button{display:flex;align-items:center;gap:12px;text-align:left;padding:12px;border:1px solid #d2dce6;border-bottom:3px solid transparent;border-radius:6px;background:#f8fafc;color:#2f455a;min-width:0;transition:border-color .15s,background .15s}
.teaser-tabs button>img{width:65px;height:54px;object-fit:contain;background:#fff;border-radius:3px;flex-shrink:0}
.teaser-tabs button>span{font-size:14px;font-weight:650;line-height:1.4}
.teaser-tabs button small{display:block;font-size:11px;font-weight:400;color:#65788b;margin-top:5px}
.teaser-tabs button[aria-selected=true]{background:#eef4fb;color:#173c61;border-color:#9ebbd8;border-bottom-color:#326da6}
.teaser-tabs button[aria-selected=true] small{color:#426689}
.teaser-tabs button:hover{border-color:#8baac7;background:#f0f5fa}
.teaser-tabs button:focus-visible,.alt-instances button:focus-visible,.map-instances button:focus-visible{outline:3px solid #72a9e2;outline-offset:3px}
.alt-instances,.method-laboratory .map-instances{display:flex;gap:6px;flex-shrink:0;padding:5px;background:#0d1b2c;border:1px solid #354b64;border-radius:7px}
.alt-instances button,.method-laboratory .map-instances button{display:flex;align-items:center;gap:7px;padding:5px 8px 5px 5px;border:1px solid transparent;border-radius:4px;background:transparent;color:#bdcfe1;font-size:12px;min-height:42px;cursor:pointer}
.alt-instances button img,.method-laboratory .map-instances button img{width:37px;height:30px;object-fit:contain;background:#fff;border-radius:2px}
.alt-instances button[aria-pressed=true],.method-laboratory .map-instances button[aria-pressed=true]{background:#e4eef9;color:#193249;border-color:#adc9e8}
.alt-instances button:hover,.method-laboratory .map-instances button:hover{border-color:#adc9e8}
.alt-diagram{grid-template-columns:.88fr 1.05fr 1.18fr;align-items:stretch}
.method-alt .inverse-intro{font-size:13px;line-height:1.7;margin-bottom:12px}
.inverse-measurement[hidden]{display:none!important}
.method-alt .measurement-step{font-size:13px;line-height:1.5;color:#e0ebf8;font-weight:600;margin:14px 0 10px;display:flex;gap:8px;align-items:baseline}
.measurement-step b{color:#94c6ff;font-size:11px;min-width:12px}
.ring-mask-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ring-mask-pair figure{margin:0}.ring-mask-pair svg{display:block;width:100%;max-height:110px;background:#f7f9fc;border-radius:3px}.ring-mask-pair figcaption{font-size:10px;color:#b8cce2;margin-top:5px;text-align:center}.ring-mask-pair strong{color:#d9e9ff}
.method-alt .measurement-caption{font-size:11px;line-height:1.65;color:#b2c6dc;margin:9px 0 13px}.method-alt .measurement-caption strong{color:#d6e9ff}
.measurement-table{width:100%;border-collapse:collapse;font-size:11px;color:#c4d5e7;margin:10px 0}.measurement-table caption{text-align:left;color:#9fb6cf;font-size:10px;margin-bottom:6px}.measurement-table td,.measurement-table th{padding:7px 4px;text-align:left;border-bottom:1px solid #344c67;vertical-align:middle;white-space:nowrap}.measurement-table th{color:#c8dcf2;font-weight:500}.measurement-table thead th{font-size:10px;color:#9db5cf}.measurement-table tr.measurement-winner{background:#294764}.measurement-winner td,.measurement-winner th{color:#eaf5ff}.color-count{display:inline-flex;gap:4px;align-items:center}.color-count i{display:inline-block;width:9px;height:9px;border:1px solid #ffffff77;border-radius:50%}
.band-measure-plot{display:block;width:100%;background:#1b314a;border-radius:4px}.band-measure-plot text{fill:#c0d4ea;font-size:10px}.method-alt .measurement-rule{display:block;background:#203952;color:#c6e0ff;font-size:11px;line-height:1.6;padding:9px;border-radius:3px}.measurement-details{margin:12px 0;font-size:11px}.measurement-details summary{font-size:11px!important}
.circle-measure-plot{display:block;width:100%;max-height:190px;background:#fff;border-radius:4px}
.method-alt .alt-inverse>.alt-answer{margin-top:16px}.method-alt .alt-forward{align-self:stretch}.method-alt .alt-forward>.alt-answer{margin-top:auto}.method-alt .alt-image{align-self:start;padding-top:20px}
@media(max-width:1100px){.teaser-tabs button{gap:8px;padding:9px}.teaser-tabs button>img{width:46px;height:44px}.teaser-tabs button>span{font-size:12px}.teaser-tabs button small{font-size:10px}}
@media(max-width:900px){.alt-diagram{grid-template-columns:1fr}.teaser-tabs{grid-template-columns:1fr 1fr}.alt-heading{align-items:flex-start}.alt-inverse{max-width:none}.circle-measure-plot{max-height:250px}.ring-mask-pair svg{max-height:155px}.method-alt .alt-image{padding-top:0}}
@media(max-width:500px){.teaser-tabs{gap:7px}.teaser-tabs button{padding:8px;gap:8px}.teaser-tabs button>img{width:40px;height:42px}.teaser-tabs button>span{font-size:12px}.teaser-tabs button small{font-size:10px}.alt-instances button,.method-laboratory .map-instances button{padding:4px 7px 4px 4px}.alt-instances button img,.method-laboratory .map-instances button img{width:37px;height:30px}.alt-heading{gap:16px}.method-alt .measurement-step{font-size:14px}.method-alt .measurement-caption{font-size:12px}.measurement-table{font-size:12px}}

.teaser-picker-label{font-size:12px;font-weight:600;color:#566d80;margin:28px 0 10px}.teaser-picker-label+.teaser-tabs{margin-top:0}
/* One visual grammar for all four forward / renderer / inverse examples. */
.method-laboratory,.method-alt{--forward-accent:#ffc38d;--inverse-accent:#a4ccff;--forward-fill:#2a2827;--inverse-fill:#172d46;--panel-border:#476079}
.method-laboratory .answer-panel,.method-alt .answer-panel{padding:18px;border:1px solid var(--panel-border);border-radius:8px;display:flex;flex-direction:column;min-width:0}
.method-laboratory .answer-panel-forward,.method-alt .answer-panel-forward{background:var(--forward-fill);border-top:4px solid #f0b27e}
.method-laboratory .answer-panel-inverse,.method-alt .answer-panel-inverse{background:var(--inverse-fill);border-top:4px solid #8bbcff}
.method-laboratory .arm-title,.method-alt .arm-title{padding-bottom:14px;border-bottom:1px solid #ffffff25;margin-bottom:16px}
.method-laboratory .arm-title>span,.method-alt .arm-title>span{font-size:24px;font-weight:750;letter-spacing:-.035em;display:block;line-height:1.2}
.method-laboratory .forward-title>span,.method-alt .forward-title>span{color:var(--forward-accent)}
.method-laboratory .inverse-title>span,.method-alt .inverse-title>span{color:var(--inverse-accent)}
.method-laboratory .arm-title h4,.method-alt .arm-title h4{font-size:17px;color:#fff;margin:9px 0 0!important;font-weight:500;line-height:1.4}
.method-laboratory .arm-input-label,.method-alt .arm-input-label,.method-laboratory .arm-definition{font-size:10px;letter-spacing:.045em;line-height:1.6;color:#c7d3e3;margin:0 0 12px}
.method-alt .scene-field-list{display:flex;gap:7px;flex-wrap:wrap;padding:12px;background:#ffffff06;border:1px solid #ffffff16;border-radius:4px;margin-bottom:16px}
.scene-field-list code{font-size:11px;color:#e6b38b;background:transparent;padding:0;line-height:1.7}
.method-alt .alt-forward>p:not(.arm-input-label){font-size:13px;color:#c4c3c4;line-height:1.65}
.method-laboratory .renderer-panel,.method-alt .renderer-panel{padding-top:20px;align-self:start;min-width:0}
.method-laboratory .render-title,.method-alt .render-title{text-align:center;margin:0 0 18px}
.method-laboratory .render-title>span,.method-alt .render-title>span{font-size:20px;color:#f2f5fa;letter-spacing:-.02em;font-weight:650}
.method-laboratory .render-title h4,.method-alt .render-title h4{font-size:12px;line-height:1.5;color:#b6c6da;margin:7px 0 0;font-weight:400}
.method-laboratory .renderer-description,.method-alt .renderer-description{font-size:12px;line-height:1.7;color:#b6c6da;margin:12px 0 0;text-align:left}
.method-laboratory .lab-connection,.method-alt .lab-connection{display:flex;align-items:center;justify-content:space-between;font-size:10px;gap:5px;margin-bottom:10px;color:#8fa5c3}
.method-laboratory .pixel-boundary,.method-alt .pixel-boundary{display:flex;gap:10px;border-top:1px dashed #6286b9;margin-top:14px;padding-top:12px;color:#a7c6ed}
.method-laboratory .pixel-boundary p,.method-alt .pixel-boundary p{font-size:11px;line-height:1.7;margin:0;text-align:left}
.method-laboratory .pixel-boundary strong,.method-alt .pixel-boundary strong{color:#a9cfff;font-weight:550}
.method-laboratory .lab-output,.method-alt .alt-answer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;border-top:1px solid #ffffff35;padding-top:13px;min-height:63px}
.method-laboratory .lab-output>span,.method-alt .alt-answer>span{font-size:11px;text-transform:uppercase;letter-spacing:.02em}
.method-laboratory .lab-output>strong,.method-alt .alt-answer>strong{font-size:44px;line-height:1;font-weight:650}
.method-alt .alt-answer>strong{font-size:clamp(26px,3vw,44px)}
.method-laboratory .answer-panel-forward .lab-output>strong,.method-alt .answer-panel-forward .alt-answer>strong{color:#efb17d}
.method-laboratory .answer-panel-inverse .lab-output>strong,.method-alt .answer-panel-inverse .alt-answer>strong{color:#b5d6ff}
.method-alt .lab-comparison{margin-top:24px}.method-alt .lab-comparison>div{max-width:none;padding:16px 20px;display:grid;grid-template-columns:210px 1fr;gap:6px 24px;text-align:left;border-radius:6px}.method-alt .lab-comparison h4{font-size:18px;line-height:1.4;margin:0;grid-row:1/3;color:#e2edfa}.method-alt .lab-comparison p{margin:0;font-size:12px}.method-alt .agreement-explanation{font-size:12px;line-height:1.75}.method-alt .alt-heading{border-bottom:1px solid #3a4b61;padding-bottom:22px;margin-bottom:26px}.method-alt .alt-heading h3{font-size:30px;letter-spacing:-.025em}
@media(max-width:900px){.method-alt .renderer-panel{padding-top:0}.method-alt .lab-comparison>div{grid-template-columns:170px 1fr}}
@media(max-width:600px){.method-laboratory .answer-panel,.method-alt .answer-panel{padding:16px}.method-laboratory .arm-title>span,.method-alt .arm-title>span{font-size:25px}.method-alt .lab-comparison>div{display:block}.method-alt .agreement-equation{margin-top:14px;flex-wrap:wrap;gap:14px}.method-alt .alt-heading h3{font-size:25px}.method-laboratory .renderer-panel{padding-top:0}.method-alt .alt-answer>strong{font-size:36px}}

/* Page composition: distinct chapters, generous type, and bounded evidence. */
.homepage {--chapter-ink:#183d42;--chapter-muted:#486369;background:#f4f1e9;color:#24383b}
.homepage .paper-section{padding:80px 28px;border:0;background:#f4f1e9}
.homepage .paper-section .section-intro{grid-template-columns:110px minmax(0,1fr);gap:0 30px;margin-bottom:40px}
.homepage .paper-section .section-intro .eyebrow{font-size:12px;color:#426469;font-weight:650;letter-spacing:.08em}
.homepage .paper-section .section-intro .eyebrow::before{font-family:Georgia,serif;font-size:76px;color:#819895;letter-spacing:-.06em;margin-bottom:16px}
.homepage .paper-section .section-intro h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,4.2vw,54px);font-weight:400;letter-spacing:-.035em;line-height:1.12;color:#183d42;max-width:850px}
.homepage .paper-section .section-intro>p:not(.eyebrow){font-size:19px;line-height:1.75;color:#425e62;max-width:66ch}
.homepage #abstract{background:#e5ebe6;border:0;padding:56px 28px}
.homepage #abstract .container{max-width:920px}
.homepage #abstract .title{color:#315b55;font-size:13px;font-weight:700;letter-spacing:.12em}
.homepage #abstract .paper-abstract{font-size:17px;line-height:1.85;color:#2e4744}
.homepage #motivation{background:#173e43;color:#f6f3e9;padding-top:70px;padding-bottom:70px}
.homepage #motivation .section-intro h2{color:#faf4e5}
.homepage #motivation .section-intro .eyebrow{color:#a7c8c0}
.homepage #motivation .section-intro .eyebrow::before{color:#8cad9f}
.homepage #motivation .section-intro>p:not(.eyebrow),.homepage #motivation .motivation-body{color:#d5e3df;font-size:19px;line-height:1.8}
.homepage #motivation .motivation-body{max-width:850px;border-left:2px solid #88b4a5;padding-left:28px}
.homepage #method{background:#f4f1e9}
.homepage .teaser-picker-label{color:#3b575c;font-size:14px}
.homepage .method-components{max-width:none;background:#e3e9e4;padding:36px 40px;margin:48px 0;color:#223f40}
.homepage .components-intro{max-width:780px}
.homepage .method-components .components-intro h3{font-family:Georgia,serif;font-weight:400;font-size:36px;color:#183d42}
.homepage .components-intro>p:last-child{font-size:18px;color:#435d59}
.homepage .component-note{border-color:#baccc3;padding:26px 0;grid-template-columns:34px minmax(0,1.2fr) minmax(0,1fr)}
.homepage .note-number{color:#507367;font-size:14px}
.homepage .note-description p{font-size:17px;color:#3d5554;line-height:1.75}
.homepage .note-example{background:#f4f3eb;border-radius:0;border-color:#8ba99a}
.homepage .note-example p{font-size:15px;color:#395553}
.homepage .method-evidence-note{color:#405d58;font-size:14px}
.homepage .program-overview{gap:44px}
.homepage .program-overview h3{font-family:Georgia,serif;font-size:28px;font-weight:400;color:#244852;line-height:1.25}
.homepage .program-overview p{font-size:18px;color:#3c5962;line-height:1.8}
.homepage .program-overview .chapter-link{font-size:16px;color:#1b5964;border-bottom:1px solid #7a9da5;padding-bottom:10px}
.homepage .program-overview .instance-strip{background:#f5f5ee;padding:20px;gap:14px}
.homepage #results{background:#eeeae0}
.homepage .results-nav{gap:8px!important;border:0!important;padding:0!important;margin:0 0 38px;display:flex;flex-wrap:wrap}
.homepage .results-nav a{background:#dedfd3;border:1px solid #c3cbbd;border-radius:2px;padding:11px 15px;font-size:14px;color:#304f48;min-height:44px}
.homepage .results-nav a:hover{background:#cbd9cf;color:#173e43}
.homepage .result-study{background:#faf9f3;margin-top:24px;padding:36px 40px;border-top:4px solid #64867b}
.homepage .result-study>.eyebrow{border:0;padding:0;font-size:13px;letter-spacing:.06em;font-weight:650;color:#486e61;margin-bottom:16px}
.homepage .result-study h3{font-family:Georgia,serif;font-size:34px;line-height:1.2;letter-spacing:-.02em;font-weight:400;color:#203e3e;max-width:850px;margin-bottom:20px}
.homepage .result-study>p{font-size:17px;line-height:1.8;color:#415652;max-width:83ch}
.homepage .result-study:nth-of-type(even){border-top-color:#648393;background:#edf2f1}
.homepage .stat-row{background:#dce6dd;padding:24px 28px;gap:30px;margin:28px 0}
.homepage .stat-row>div{border:0}
.homepage .stat-row strong{font-family:Georgia,serif;font-size:46px;color:#1b5145;letter-spacing:-.04em}
.homepage .paper-table{background:#fffdf7;padding:0 18px;border:1px solid #cbd4ca;border-radius:0;margin:26px 0}
.homepage .paper-table caption{color:#24483e;font-size:15px;padding:18px 0;border-color:#67897b}
.homepage .paper-table thead th{background:#e0e9e1;color:#24483e}
.homepage .paper-table :is(td,th){font-size:14px;padding:13px 12px}
.homepage .accuracy-summary{background:#e0e8e8;padding:24px;max-width:none}
.homepage .accuracy-summary figcaption{color:#355558;font-size:15px}
.homepage .accuracy-row>span,.homepage .accuracy-row>strong{font-size:15px;color:#24494b}
.homepage .accuracy-track{background:#c6d5d5;height:15px}
.homepage .accuracy-track i{background:#397771}
.homepage .accuracy-row:nth-of-type(n+4) .accuracy-track i{background:#7a9896}
.homepage .study-detail-link{color:#245f59;font-size:15px;line-height:1.7}
.homepage .external-summary{border-color:#527d75;background:#dde7dd;padding:22px 26px}
.homepage .external-summary h4{font-size:24px;color:#23483f}
.homepage #limitations{background:#d8e2db}
.homepage #limitations :is(p,li){color:#38534b;font-size:17px;line-height:1.8}
.homepage .resources-section{background:#173e43;color:#e9f0e8}
.homepage .resources-section :is(h2,h3,p,a){color:#e9f0e8}
.homepage :is(a,button,summary):focus-visible{outline:3px solid #bc742e;outline-offset:4px}
@media(max-width:760px){
 .homepage .paper-section{padding:48px 20px}
 .homepage .paper-section .section-intro{grid-template-columns:1fr;gap:14px;margin-bottom:28px}
 .homepage .paper-section .section-intro .eyebrow{grid-column:1;grid-row:auto;display:flex;align-items:center;gap:14px;font-size:12px}
 .homepage .paper-section .section-intro .eyebrow::before{font-size:38px;margin:0;letter-spacing:-.04em}
 .homepage .paper-section .section-intro h2{grid-column:1;font-size:36px;margin:0 0 4px}
 .homepage .paper-section .section-intro>p:not(.eyebrow){grid-column:1;font-size:17px;line-height:1.75}
 .homepage #motivation{padding:48px 20px}
 .homepage #motivation :is(.motivation-body,.section-intro>p:not(.eyebrow)){font-size:17px}
 .homepage #motivation .motivation-body{padding-left:18px}
 .homepage .method-components{padding:26px 20px;margin:32px -6px}
 .homepage .method-components .components-intro h3{font-size:30px}
 .homepage .component-note{grid-template-columns:24px minmax(0,1fr);gap:12px}
 .homepage .note-example{grid-column:2;margin:0;padding:15px}
 .homepage .note-description p{font-size:16px}
 .homepage .method-evidence-note{margin-left:0}
 .homepage .program-overview{gap:24px}
 .homepage .program-overview p{font-size:17px}
 .homepage .program-overview .instance-strip{padding:12px;gap:6px}
 .homepage .result-study{padding:26px 18px;margin-left:-6px;margin-right:-6px}
 .homepage .result-study h3{font-size:28px}
 .homepage .result-study>p{font-size:16px}
 .homepage .results-nav a{font-size:13px;padding:10px 12px}
 .homepage .stat-row{padding:18px;gap:18px}
 .homepage .stat-row strong{font-size:36px}
 .homepage .paper-table{padding:0 10px}
 .homepage .accuracy-summary{padding:16px}
 .homepage .accuracy-row{grid-template-columns:100px 1fr 48px;gap:8px}
 .homepage .accuracy-row>span,.homepage .accuracy-row>strong{font-size:12px}
 .homepage .external-summary{padding:20px 18px}
}
/* Tables: persistent row identity, stable numeric columns, explicit boundaries. */
:is(.homepage,.reading-page) .paper-table{overflow:auto;isolation:isolate;background:#fffdf7;padding:0;border:1px solid #bdccc5;border-radius:3px;max-width:100%;scrollbar-color:#78958c #e4eae5}
:is(.homepage,.reading-page) .paper-table table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}
:is(.homepage,.reading-page) .paper-table caption{text-align:left;padding:18px 20px;background:#e1e9e2;color:#274c40;border:0;font-size:15px;font-weight:600;line-height:1.5}
:is(.homepage,.reading-page) .paper-table :is(th,td){padding:14px 18px;border:0;border-bottom:1px solid #d3ded6;border-right:1px solid #e0e7e0;font-size:14px;line-height:1.5;vertical-align:middle}
:is(.homepage,.reading-page) .paper-table thead th{background:#254d48;color:#f5f6ed;font-weight:600;text-align:right;white-space:normal;min-width:105px;border-right:1px solid #52716a;border-bottom:2px solid #173f39}
:is(.homepage,.reading-page) .paper-table tbody td{text-align:right;white-space:nowrap;background:#fffdf7;color:#294640}
:is(.homepage,.reading-page) .paper-table tbody tr:nth-child(even) td{background:#edf2eb}
:is(.homepage,.reading-page) .paper-table tbody th{background:#e5ede4;font-weight:600;color:#284c41;text-align:left;min-width:190px}
:is(.homepage,.reading-page) .paper-table tr>:first-child{position:sticky;left:0;z-index:1;box-shadow:2px 0 0 #b2c6ba;text-align:left}
:is(.homepage,.reading-page) .paper-table thead tr>:first-child{z-index:2}
:is(.homepage,.reading-page) .paper-table tbody tr:last-child :is(th,td){border-bottom:0}
:is(.homepage,.reading-page) .paper-table tbody tr:hover td{background:#dce9df}
:is(.homepage,.reading-page) .paper-table td.delta-positive{color:#126044;background:#dcefe1;font-weight:700}
:is(.homepage,.reading-page) .paper-table td.delta-negative{color:#9b382c;background:#f6e3db;font-weight:700}
:is(.homepage,.reading-page) .table-scroll-hint{font-size:13px;color:#426958;margin:18px 0 8px}
@media(max-width:600px){
 :is(.homepage,.reading-page) .paper-table :is(th,td){padding:12px 13px;font-size:13px}
 :is(.homepage,.reading-page) .paper-table tbody th{min-width:130px;max-width:155px;white-space:normal}
 :is(.homepage,.reading-page) .paper-table thead th{min-width:100px}
 :is(.homepage,.reading-page) .paper-table caption{font-size:14px;padding:15px}
}
/* Introduction paragraphs share the heading's reading column. */
.homepage #motivation .section-intro{margin-bottom:22px}
.homepage #motivation .section-intro>p:not(.eyebrow){max-width:76ch}
.homepage #motivation .motivation-body{margin:0 0 0 140px;padding:0;border:0;max-width:76ch}
.homepage #motivation .motivation-body p+p{margin-top:22px}
@media(max-width:760px){
 .homepage #motivation .motivation-body{margin:0;padding:0;border:0;max-width:none}
 .homepage #motivation .section-intro{margin-bottom:20px}
}
.generation-analysis{margin-top:30px;padding-top:24px;border-top:1px solid #bdccc5}
.generation-analysis h4{font-size:22px;font-weight:600;line-height:1.35;margin-bottom:14px;color:#284c41}
.generation-analysis p{font-size:17px;line-height:1.8;color:#415652;margin-bottom:14px;max-width:83ch}
@media(max-width:600px){.generation-analysis p{font-size:16px}.generation-analysis h4{font-size:20px}}
/* Experimental evidence uses neutral surfaces; color is reserved for outcomes. */
.homepage #results{background:#eceef0}
.homepage #results .section-intro h2,.homepage #results .section-intro .eyebrow{color:#263442}
.homepage #results .result-study,.homepage #results .result-study:nth-of-type(even){background:#fff;border-top-color:#8996a4}
.homepage #results .result-study h3{color:#253443}
.homepage #results .result-study>p,.homepage #results .result-study>.eyebrow{color:#465260}
.homepage #results .stat-row{background:#eef1f4}.homepage #results .stat-row strong{color:#273e56}
.generation-analysis{margin-top:36px;padding-top:30px;border-top:2px solid #778695;color:#263442}
.generation-analysis>header{max-width:850px;margin-bottom:28px}
.generation-analysis h4{font-family:Georgia,serif;font-size:30px;font-weight:400;color:#253443;margin:0 0 12px}
.generation-analysis h5{font-size:21px;font-weight:650;color:#253443;margin:0 0 14px}
.generation-analysis h6{font-size:16px;font-weight:650;color:#253443;margin:0 0 14px}
.generation-analysis p{color:#465260;font-size:16px;line-height:1.75}
.analysis-study+.analysis-study{border-top:1px solid #ccd3db;margin-top:30px;padding-top:28px}
.analysis-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:22px 0}
.analysis-images figure{margin:0;background:#f2f4f6;padding:12px}
.analysis-images img{display:block;width:100%;height:175px;object-fit:contain;background:white}
.analysis-images figcaption{font-size:14px;color:#394856;line-height:1.6;padding-top:12px}
.analysis-images figcaption strong,.analysis-images figcaption span{display:block}
.analysis-images figcaption b{color:#a33d2c}
.analysis-columns{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:start}
.analysis-observations{padding-top:26px}
.generation-analysis .analysis-note{font-size:14px;color:#5c6670}
.analysis-links{display:flex;gap:16px 28px;flex-wrap:wrap;border-top:1px solid #d4dae0;padding-top:18px;margin-top:22px}
.analysis-links a{color:#315a84;text-decoration:underline;text-underline-offset:4px;font-size:15px}
:is(.homepage #results,.generation-analysis) .paper-table{border-color:#c7cfd8;background:#fff}
:is(.homepage #results,.generation-analysis) .paper-table caption{background:#e9edf2;color:#30445b}
:is(.homepage #results,.generation-analysis) .paper-table thead th{background:#33465c;border-color:#596b7e;color:#fff}
:is(.homepage #results,.generation-analysis) .paper-table tbody th{background:#e9edf2;color:#30445b}
:is(.homepage #results,.generation-analysis) .paper-table tbody td{background:#fff;color:#344556}
:is(.homepage #results,.generation-analysis) .paper-table tbody tr:nth-child(even) td{background:#f2f4f7}
:is(.homepage #results,.generation-analysis) .paper-table tr>:first-child{box-shadow:2px 0 0 #bbc6d3}
:is(.homepage #results,.generation-analysis) .paper-table td.delta-positive{background:#e5f0e9;color:#17613f}
:is(.homepage #results,.generation-analysis) .paper-table td.delta-negative{background:#f5e6e2;color:#983c2d}
@media(max-width:700px){.analysis-columns{grid-template-columns:1fr;gap:0}.analysis-observations{padding-top:0}.analysis-images{gap:7px}.analysis-images figure{padding:5px}.analysis-images img{height:100px}.analysis-images figcaption{font-size:11px}.generation-analysis h4{font-size:26px}}
.inverse-summary{margin-top:30px;padding-top:24px;border-top:1px solid #c7cfd8}
.inverse-summary h4{font-size:23px;font-weight:600;color:#263442;margin-bottom:22px}
.inverse-summary-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:32px;align-items:center}
.inverse-summary-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.inverse-summary-images figure{margin:0;text-align:center}
.inverse-summary-images img{width:100%;height:180px;object-fit:contain;display:block;background:#faf9f5}
.inverse-summary-images figcaption{font-size:14px;color:#445365;margin-top:10px}
.inverse-summary-text p{font-size:16px;line-height:1.75;color:#43515f;margin:0 0 18px}
.inverse-summary-button{display:inline-flex;align-items:center;gap:16px;padding:12px 18px;background:#30485f;color:#fff!important;border-radius:3px;font-size:15px;line-height:1.5;text-decoration:none!important;min-height:44px}
.inverse-summary-button:hover{background:#20364b}
@media(max-width:760px){.inverse-summary-layout{grid-template-columns:1fr;gap:22px}.inverse-summary-images img{height:140px}.inverse-summary h4{font-size:21px}.inverse-summary-text p{font-size:16px}}

/* Inverse-program catch (paper Fig. 4): piano renderer bug found from pixels. */
.catch-figure{margin:0 0 26px}
.catch-layout{display:grid;grid-template-columns:minmax(0,3.2fr) auto minmax(0,1fr);gap:14px;align-items:stretch}
.catch-panel{background:#fbfaf6;border:1px solid #d5d9dc;border-radius:6px;padding:16px;display:flex;flex-direction:column;gap:14px;min-width:0}
.catch-question{margin:0;font-style:italic;color:#5b6d7e;font-size:15px;line-height:1.5}
.catch-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.catch-steps li{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.catch-steps img,.catch-fixed img{width:100%;aspect-ratio:1;object-fit:contain;display:block;background:#fff;border:1px solid #e4e7e9;border-radius:4px}
.catch-steps span,.catch-fixed span{font-size:13px;line-height:1.35;color:#445365;text-align:center}
.catch-steps b{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border-radius:50%;background:#4f6d78;color:#fff;font-size:11px}
.catch-fixed{display:flex;flex-direction:column;gap:8px}
.catch-verdict{margin:auto 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-size:15px;color:#34424f}
.catch-verdict strong{font-size:20px;margin-left:4px}
.catch-sign{font-size:22px;font-weight:700}
.catch-verdict em{flex-basis:100%;font-style:normal;font-weight:600;font-size:13px}
.catch-verdict.is-fail .catch-sign,.catch-verdict.is-fail em{color:#b3261e}
.catch-verdict.is-pass .catch-sign,.catch-verdict.is-pass em{color:#2e7d45}
.catch-arrow{margin:0;display:flex;align-items:center;justify-content:center}
.catch-arrow span{writing-mode:horizontal-tb;font-size:12px;font-weight:700;color:#687178;text-align:center;max-width:90px;line-height:1.3}
.catch-arrow span::after{content:"→";display:block;font-size:24px;line-height:1.1;margin-top:4px}
.catch-stop{margin-top:30px}
.catch-stop .catch-steps{grid-template-columns:repeat(5,minmax(0,1fr))}
.catch-stop .catch-verdict{margin-top:14px}
.catch-figure figcaption{margin-top:12px;font-size:14px;line-height:1.6;color:#4d5b68}
.inverse-summary .inverse-summary-text{max-width:860px}
.catch-notes{max-width:860px}
.catch-notes p{font-size:16px;line-height:1.75;color:#43515f;margin:0 0 16px}
@media(max-width:900px){
  .catch-layout{grid-template-columns:1fr}
  .catch-arrow span{max-width:none}
  .catch-arrow span::after{content:"↓"}
  .catch-after{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
}
@media(max-width:520px){
  .catch-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catch-stop .catch-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catch-after{grid-template-columns:1fr}
  .catch-fixed{max-width:220px;margin:0 auto}
}
.catch-layout{grid-template-columns:minmax(0,3.2fr) auto minmax(0,1.15fr)}
.catch-verdict span{white-space:nowrap}
.catch-after .catch-verdict{font-size:14px;gap:4px 8px}
.catch-after .catch-verdict strong{font-size:18px;margin-left:3px}
@media(max-width:900px){.catch-layout{grid-template-columns:1fr}}
.atlas-caption{margin:10px 0 18px;font-size:14px;line-height:1.5;font-style:italic;color:#5b6b78;text-align:center}
