/* Scope every guide to the three redesigned sections. */
.vg-section { --accent: #4dd0e1; --draft: #344150; --paper: #0d1520; scroll-margin-top: 85px; }
section.panel.vg-section .container { max-width: 1280px; }
section.panel.vg-section .header-row { max-width: none; display: grid; grid-template-columns: 1.2fr 1fr; gap: 12px 65px; align-items: end; margin-bottom: 38px; }
section.panel.vg-section .header-row .eyebrow { grid-column: 1 / -1; }
.vg-section .section-title { font: 400 clamp(34px,4vw,56px)/1.08 var(--sans); letter-spacing: -.04em; max-width: 19ch; margin: 0; }
.vg-section .section-sub { font: 16px/1.85 var(--sans); color: #b7b3a8; margin: 0; max-width: 49ch; }
.vg-section p { text-wrap: pretty; }
.vg-section button { appearance: none; cursor: pointer; border: 1px solid #465362; border-radius: 0; background: #0a1019; color: #e8e3d6; font: 11px/1.5 var(--mono); padding: 10px 14px; }
.vg-section button:hover { border-color: var(--accent); }
.vg-section button[aria-pressed="true"] { border-color: var(--accent); background: color-mix(in srgb,var(--accent) 11%,#0a1019); }
.vg-section button:focus-visible,.vg-section summary:focus-visible,.vg-section a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.vg-section a { color: #4dd0e1; }
.vg-plate { background: #0d1520; border: 1px solid #465362; margin: 0; }
.vg-plate-head { display: flex; justify-content: space-between; gap: 15px; border-bottom: 1px solid var(--draft); padding: 17px 23px; font: 10px/1.7 var(--mono); letter-spacing: .06em; color: #b7b3a8; }
.vg-plate-head span:last-child { color: var(--accent); text-align: right; }
.vg-kicker { font: 10px/1.7 var(--mono); letter-spacing: .12em; color: var(--accent); }
.vg-section h3 { font: 400 28px/1.2 var(--sans); letter-spacing: -.025em; color: #e8e3d6; margin: 13px 0 20px; }
.vg-section h4 { font: 500 21px/1.3 var(--sans); color: #e8e3d6; margin: 12px 0; }
.vg-figure { margin: 0; min-width: 0; }
.vg-figure figcaption,.vg-caption { font: 12px/1.8 var(--sans); color: #adafae; }
.vg-caption { padding: 18px 23px; border-top: 1px solid var(--draft); margin: 0; }
.vg-diagram { min-width: 0; color: #e8e3d6; background-image: linear-gradient(#26374635 1px,transparent 1px),linear-gradient(90deg,#26374635 1px,transparent 1px); background-size: 24px 24px; }
.vg-diagram svg { width: 100%; height: auto; display: block; fill: none; stroke: #738390; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.vg-diagram text { stroke: none; fill: #d0d1cd; font: 13px var(--mono); }
.vg-diagram text.muted { fill: #94a0ab; font-size: 11px; }
.vg-diagram .guide { stroke: #485765; }
.vg-diagram .accent { stroke: var(--accent); }
.vg-diagram text.accent { stroke: none; fill: var(--accent); }
.vg-diagram .dashed { stroke: #7b8690; stroke-dasharray: 5 5; }
.vg-diagram .muted-line { stroke: #b1b9b9; }
.vg-diagram .soft { fill: #111d2a; stroke: #485b6b; }
.vg-diagram .mass { fill: #0a1019; stroke: #d4a574; stroke-width: 2; }
.vg-diagram .point { fill: var(--accent); stroke: #0a0f17; }
.vg-diagram .band { fill: #4dd0e118; stroke: none; }
.vg-diagram .amber { stroke: #d4a574; }
.vg-diagram .large { font-size: 24px; }
.vg-diagram .trace { stroke-width: 2; animation: vg-trace .65s ease-out both; }
@keyframes vg-trace { from { opacity: .15; } to { opacity: 1; } }
.vg-notes { border-top: 1px solid var(--draft); border-bottom: 1px solid var(--draft); margin-top: 22px; }
.vg-notes + .vg-notes { border-top: 0; margin-top: 0; }
.vg-notes summary { cursor: pointer; list-style: none; font: 13px/1.6 var(--sans); color: #c9c9c0; padding: 18px 0; display: flex; justify-content: space-between; gap: 20px; }
.vg-notes summary::-webkit-details-marker { display: none; }
.vg-notes summary span { color: var(--accent); font-size: 18px; }
.vg-notes[open] > summary span { transform: rotate(45deg); }
.vg-notes-body { padding: 10px 0 25px; color: #b7b3a8; font: 14px/1.9 var(--sans); min-width: 0; }
.vg-notes-body p { margin: 14px 0; }
.vg-notes-body pre { overflow-x: auto; padding: 20px; background: #080e16; border: 1px solid var(--draft); color: #d1d5d6; font: 12px/1.8 var(--mono); max-width: 100%; }
.vg-notes-body code { overflow-wrap: anywhere; font-size: .9em; }
.vg-notes-body li { list-style: none; }
.vg-section .vg-notes-body .section-sub { max-width: none; font-size: 14px; }
.vg-block { margin-top: 65px; }
.vg-block-title { display: grid; grid-template-columns: 1.15fr 1fr; gap: 35px; align-items: end; margin-bottom: 25px; }
.vg-block-title h3 { margin-bottom: 0; }
.vg-block-title > p { font: 14px/1.8 var(--sans); color: #b7b3a8; margin: 0; max-width: 48ch; }
.vg-caution { border-left: 2px solid #d4a574; padding: 14px 20px; background: #d4a57408; color: #beb6a6; font: 13px/1.85 var(--sans); margin: 24px 0; }
.vg-caution strong { color: #e0c6a5; }
.sector-settings { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; border-bottom: 1px solid var(--draft); }
.sector-settings button { display: flex; flex-direction: column; text-align: left; padding: 23px; border: 0; border-right: 1px solid var(--draft); border-bottom: 2px solid transparent; }
.sector-settings button:last-child { border-right: 0; }
.sector-settings button[aria-pressed="true"] { border-bottom-color: var(--accent); }
.sector-settings small { font-size: 9px; letter-spacing: .12em; color: #9eabb4; }
.sector-settings strong { font-size: 25px; font-weight: 400; color: #e8e3d6; margin: 7px 0; }
.sector-settings button[aria-pressed="true"] strong { color: var(--accent); }
.sector-settings span { font: 13px/1.6 var(--sans); color: #aeb8ba; }
.sector-figures { display: grid; grid-template-columns: 1fr 1fr; }
.sector-figures > figure { padding: 27px 30px; }
.sector-figures > figure + figure { border-left: 1px solid var(--draft); }
.sector-cage .vg-diagram { margin: 18px 0; }
.sector-cage svg { max-height: 365px; }
.sector-motion h3 { margin: 18px 0 12px; }
.sector-motion h3 span { color: var(--accent); }
.sector-motion .vg-diagram svg { max-height: 240px; }
.reference-dot { fill: #d0c8b6; stroke: #d0c8b6; }
.program-dot { fill: var(--accent); stroke: var(--accent); }
.vg-button-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 12px; }
.sector-numbers { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--draft); }
.sector-numbers > div { padding: 22px; border-right: 1px solid var(--draft); }
.sector-numbers > div:last-child { border-right: 0; }
.sector-numbers span { display: block; font: 11px/1.6 var(--sans); color: #aeb8ba; }
.sector-numbers strong { font: 400 clamp(20px,2.4vw,31px)/1.5 var(--mono); color: var(--accent); display: block; margin-top: 6px; }
.vg-summary-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 35px; padding: 27px 0 7px; }
.vg-summary-strip small { font: 10px var(--mono); color: var(--accent); letter-spacing: .08em; }
.vg-summary-strip p { font: 15px/1.7 var(--sans); color: #c0c1b7; margin: 10px 0; }
#states .states-explainer { margin: 0; max-width: none; gap: 35px; }
#states .states-explainer .block { font: 14px/1.9 var(--sans); }
#falsifiers { --accent: #e57bb0; }
.gate-layout { display: grid; grid-template-columns: 270px 1fr; }
.gate-menu { border-right: 1px solid var(--draft); background: #0a1019; padding: 12px; }
.gate-menu button { display: flex; align-items: center; gap: 15px; width: 100%; border-color: transparent; padding: 18px 12px; text-align: left; font: 13px/1.6 var(--sans); }
.gate-menu button span { color: #8995a3; font: 10px var(--mono); }
.gate-menu button b { margin-left: auto; color: var(--accent); font-weight: 400; opacity: 0; }
.gate-menu button[aria-pressed="true"] b { opacity: 1; }
.gate-menu button[aria-pressed="true"] span { color: var(--accent); }
.gate-scene { padding: 29px 33px 15px; min-width: 0; }
.gate-scene h3 { min-height: 65px; max-width: 30ch; }
.gate-scene .vg-diagram { margin: 10px 0 20px; }
.gate-scene svg { max-height: 265px; }
.gate-scene .vg-notes-body .gate-title { font: 500 17px/1.6 var(--sans); }
.gate-scene .vg-notes-body .gate-label { display: none; }
.gate-scene .vg-notes-body .gate-criterion { margin-top: 12px; }
.sham-strip { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--draft); }
.sham-strip > div { border-right: 1px solid var(--draft); padding: 22px; display: flex; flex-direction: column; gap: 9px; }
.sham-strip > div:last-child { border: 0; }
.sham-symbol { font: 34px var(--mono); color: #4dd0e1; }
.sham-strip strong { font: 500 15px var(--sans); color: #e8e3d6; }
.sham-strip span:last-child { font: 12px/1.8 var(--sans); color: #aeb8ba; }
.diagnostic-stages { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--draft); border-bottom: 1px solid var(--draft); }
.diagnostic-stages article { padding: 26px; border-right: 1px solid var(--draft); background: #111821; }
.diagnostic-stages article:last-child { border-right: 0; background: #e57bb009; }
.diagnostic-stages small { font: 10px var(--mono); color: #d4a574; }
.diagnostic-stages p { font: 14px/1.8 var(--sans); color: #afb5b7; }
.diagnostic-stages article > span { font: 9px/1.8 var(--mono); color: #d4a574; display: block; margin-top: 22px; }
.diagnostic-stages article:last-child > span { color: #e57bb0; }
.outcome-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.outcome-grid article { border: 1px solid var(--draft); background: #0f1722; padding: 20px; }
.outcome-grid small { font: 11px var(--mono); color: #c4acd6; }
.outcome-grid h4 { margin-top: 15px; }
.outcome-grid p { font: 14px/1.8 var(--sans); color: #afb5b7; margin-bottom: 5px; }
.outcome-legend { font: 11px/1.8 var(--sans); color: #a4b4bd; margin: 16px 0 0; }
.budget-slots { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }
.budget-slots > div { background: #0f1722; border: 1px solid var(--draft); padding: 17px; display: flex; flex-direction: column; gap: 10px; }
.budget-slots span { font: 10px var(--mono); color: #8995a3; }
.budget-slots strong { font: 14px var(--sans); color: #e8e3d6; }
.budget-slots small { font: 9px var(--mono); color: #d4a574; margin-top: 10px; }
.budget-slots i { display: block; width: 100%; height: 5px; background: repeating-linear-gradient(120deg,#6e604240,#6e604240 3px,transparent 3px,transparent 7px); }
#falsifiers .sudoku-wrap { margin: 12px auto 0; max-width: 850px; }
#falsifiers .sudoku-grid { border: 1px solid #4b5260; background: #354251; gap: 1px; border-radius: 0; }
#falsifiers .sudoku-cell { background: #111c29; border: 0; opacity: 1; padding: 23px 12px; color: #bec3c4; }
#falsifiers .sudoku-cell.is-struck { background: #182026; }
#falsifiers .sudoku-cell.is-open { background: #251c2a; }
#falsifiers .sudoku-cell.is-na { background: #111820; }
#falsifiers .sudoku-cell .cell-title { color: #c4c5bb; }
#falsifiers .sudoku-cell .cell-evidence { color: #a7afb9; }
#falsifiers .sudoku-cell.is-struck::after { opacity: .45; }
#falsifiers .sudoku-summary { color: #b7b3a8; }
#falsifiers .sudoku-keystone { border: 1px solid #465362; border-radius: 0; }
#falsifiers .falsifiers-table { font-size: 13px; }
#falsifiers .falsifiers-table th { color: #aab4be; }
#falsifiers .falsifiers-table td { color: #b7b3a8; }
#substrate { --accent: #4dd0e1; border-top: 1px solid var(--draft); }
.provenance-layout { display: grid; grid-template-columns: 1fr 1fr; }
.provenance-source { padding: 28px; border-right: 1px solid var(--draft); }
.source-counts { display: flex; gap: 40px; }
.source-counts span { display: flex; flex-direction: column; font: 11px/1.7 var(--mono); color: #95a4b2; }
.source-counts b { font-size: 31px; font-weight: 400; color: #d9ddd7; }
.provenance-source > p { font: 13px/1.9 var(--mono); color: #b7b3a8; }
.source-branch { font-size: 39px; color: #4dd0e1; height: 60px; }
.receipt-buttons { display: grid; gap: 7px; margin-top: 16px; }
.receipt-buttons button { display: flex; align-items: center; gap: 18px; text-align: left; font: 14px var(--sans); padding: 16px; }
.receipt-buttons button span { color: #99a7b5; font: 10px var(--mono); }
.receipt-buttons button b { margin-left: auto; font-weight: 400; color: #4dd0e1; }
.receipt-detail { padding: 35px; display: flex; flex-direction: column; justify-content: center; }
.receipt-detail h3 { font-size: 32px; max-width: 17ch; }
.receipt-detail > p { font: 15px/1.9 var(--sans); color: #b7b3a8; max-width: 43ch; }
.receipt-detail > a { font: 12px var(--mono); margin-top: 25px; }
.receipt-verdicts { display: flex; gap: 23px; border-top: 1px solid var(--draft); padding-top: 22px; margin-top: 24px; }
.receipt-verdicts span { font: 9px/1.8 var(--mono); color: #a4b4bd; }
.receipt-verdicts b { display: block; font: 32px/1.4 var(--mono); color: #4dd0e1; }
.receipt-verdicts span:nth-child(2) b { color: #e57bb0; }
.receipt-verdicts span:nth-child(3) b { color: #d4a574; }
.receipt-note { padding: 22px; border: 1px solid var(--draft); margin-top: 20px; font: 10px/1.9 var(--mono); color: #a4b4bd; }
.receipt-note strong { display: block; margin-top: 8px; font: 400 15px/1.7 var(--sans); color: #d1d3c9; }
.canonical-figure { margin-top: 28px; }
.canonical-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 35px; padding: 32px; align-items: center; }
.canonical-value { font: 400 clamp(29px,3.2vw,45px)/1.4 var(--mono); color: #e8e3d6; margin-top: 14px; }
#canonical-uncertainty { font: 14px/1.8 var(--mono); color: #a8d1d4; }
.vg-legend { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 27px; font: 10px/1.7 var(--sans); color: #b7b3a8; }
.vg-legend i { display: inline-block; height: 2px; width: 15px; margin: 0 5px 3px 0; background: #4dd0e1; }
.vg-legend i.amber-key { background: #d4a574; }
.source-pipeline { list-style: none; display: grid; grid-template-columns: repeat(5,1fr); padding: 0; margin: 0; border: 1px solid var(--draft); }
.source-pipeline li { padding: 22px 18px; border-right: 1px solid var(--draft); min-width: 0; }
.source-pipeline li:last-child { border: 0; }
.source-pipeline li > span { font: 10px var(--mono); color: #4dd0e1; }
.source-pipeline h4 { font-size: 19px; }
.source-pipeline code { font: 9px var(--mono); color: #b39ddb; }
.source-pipeline p { font: 13px/1.8 var(--sans); color: #aeb8ba; }
#substrate .how-card { border-radius: 0; margin: 12px 0; }
#substrate .resource-card { border-radius: 0; }
#substrate .vg-notes-body > p { max-width: 90ch; }
@media(max-width:900px) {
  section.panel.vg-section .header-row { gap: 22px; grid-template-columns: 1fr; }
  .vg-section .section-title { max-width: 25ch; }
  .vg-section .section-sub { max-width: 65ch; }
  .gate-layout { grid-template-columns: 220px 1fr; }
  .gate-menu button { gap: 10px; font-size: 12px; }
  .gate-scene { padding: 25px; }
  .vg-block-title { grid-template-columns: 1fr; gap: 15px; }
  .source-counts { gap: 25px; }
  .canonical-layout { grid-template-columns: 1fr; }
  .source-pipeline { grid-template-columns: 1fr; }
  .source-pipeline li { border-right: 0; border-bottom: 1px solid var(--draft); display: grid; grid-template-columns: 25px 125px 1fr; gap: 8px 16px; align-items: center; }
  .source-pipeline h4 { margin: 0; }
  .source-pipeline p { grid-column: 2 / -1; margin: 0; }
}
@media(max-width:620px) {
  .vg-section { padding-top: 60px; padding-bottom: 60px; }
  .vg-section .section-sub { font-size: 15px; }
  .vg-plate-head { padding: 14px 16px; flex-direction: column; gap: 6px; font-size: 9px; }
  .vg-plate-head span:last-child { text-align: left; }
  .sector-settings button { padding: 16px 10px; }
  .sector-settings small { font-size: 8px; }
  .sector-settings strong { font-size: 22px; }
  .sector-settings span { font-size: 11px; }
  .sector-figures { grid-template-columns: 1fr; }
  .sector-figures > figure { padding: 22px 18px; }
  .sector-figures > figure + figure { border-left: 0; border-top: 1px solid var(--draft); }
  .sector-numbers { grid-template-columns: 1fr; }
  .sector-numbers > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; border-right: 0; border-bottom: 1px solid var(--draft); }
  .sector-numbers > div:last-child { border-bottom: 0; }
  .sector-numbers strong { margin: 0; font-size: 23px; }
  .sector-numbers span { max-width: 18ch; }
  .vg-summary-strip { grid-template-columns: 1fr; gap: 14px; }
  .vg-summary-strip p { margin: 5px 0; }
  .vg-caption { padding: 16px; }
  .gate-layout { grid-template-columns: 1fr; }
  .gate-menu { display: grid; grid-template-columns: 1fr 1fr; padding: 10px; border-right: 0; border-bottom: 1px solid var(--draft); }
  .gate-menu button { font-size: 11px; padding: 12px 7px; gap: 8px; }
  .gate-menu button b { display: none; }
  .gate-scene { padding: 22px 17px 8px; }
  .gate-scene h3 { font-size: 25px; min-height: 0; }
  .sham-strip { grid-template-columns: 1fr 1fr; }
  .sham-strip > div { padding: 18px; border-bottom: 1px solid var(--draft); }
  .sham-strip > div:nth-child(2) { border-right: 0; }
  .sham-strip > div:nth-child(3) { border-bottom: 0; }
  .diagnostic-stages,.outcome-grid { grid-template-columns: 1fr; }
  .diagnostic-stages article { border-right: 0; border-bottom: 1px solid var(--draft); padding: 23px; }
  .outcome-grid .vg-diagram svg { max-height: 180px; }
  .budget-slots { grid-template-columns: 1fr 1fr; }
  .provenance-layout { grid-template-columns: 1fr; }
  .provenance-source { padding: 24px; border-right: 0; border-bottom: 1px solid var(--draft); }
  .receipt-detail { padding: 25px; }
  .receipt-detail h3 { font-size: 28px; }
  .canonical-layout { padding: 22px 16px; gap: 22px; }
  .canonical-value { font-size: 33px; }
  .vg-notes-body { overflow-x: auto; }
  #falsifiers .falsifiers-table { min-width: 570px; }
  #falsifiers .sudoku-cell { padding: 16px 6px; }
  #falsifiers .sudoku-cell .cell-evidence { font-size: 8px; }
  #states .states-explainer { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion:reduce) { .vg-diagram .trace { animation: none; } }
