@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&family=Patrick+Hand&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600&display=swap");

:root {
  --paper: #f7f3e8;
  --paper-deep: #ede6d5;
  --ink: #17201d;
  --muted: #59645f;
  --rule: #959b91;
  --energy: #d6533f;
  --space: #356f92;
  --time: #7b5ba5;
  --model: #287868;
  --measure: #c56b24;
  --failure: #a6342a;
  --serif: "Source Serif 4", Georgia, serif;
  --hand: "Patrick Hand", "Bradley Hand", cursive;
  --mono: "IBM Plex Mono", Menlo, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: #d6d0c0; }
body { min-width: 320px; margin: 0; color: var(--ink); background: repeating-linear-gradient(0deg, #d6d0c0 0 31px, #d0c9b8 32px); font-family: var(--serif); }
a { color: #174f6a; text-underline-offset: .16em; }
button, input { font: inherit; }
.skip-link { position: fixed; z-index: 50; left: 12px; top: -60px; padding: 12px 16px; color: white; background: var(--ink); }
.skip-link:focus { top: 12px; }

main { width: min(1180px, calc(100% - 30px)); margin: 24px auto; background: var(--paper); border: 2px solid var(--ink); box-shadow: 10px 12px 0 rgba(23, 32, 29, .22); }
.paper-head { position: relative; min-height: 850px; padding: 28px clamp(24px, 7vw, 90px) 80px; overflow: hidden; border-bottom: 2px solid var(--ink); }
.paper-head::before, .paper-head::after { position: absolute; content: ""; pointer-events: none; border: 2px solid var(--ink); border-radius: 47% 53% 50% 50%; opacity: .09; }
.paper-head::before { width: 640px; height: 260px; right: -190px; top: 190px; transform: rotate(-13deg); }
.paper-head::after { width: 390px; height: 620px; right: 20px; top: 70px; transform: rotate(28deg); }
.paper-head nav { position: relative; z-index: 2; display: flex; gap: 10px; color: var(--muted); font: 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.paper-head nav a { min-height: 44px; display: inline-flex; align-items: center; color: inherit; }
.folio, .section-mark { color: var(--model); font: 600 10px/1.3 var(--mono); letter-spacing: .18em; text-transform: uppercase; }
.paper-head .folio { margin-top: clamp(100px, 17vh, 180px); }
h1 { position: relative; z-index: 2; max-width: 940px; margin: 20px 0 28px; font: 600 clamp(58px, 9vw, 124px)/.91 var(--serif); letter-spacing: -.055em; }
.standfirst { position: relative; z-index: 2; max-width: 720px; margin: 0; color: #34413c; font-size: clamp(22px, 2.8vw, 34px); line-height: 1.34; }
.abstract { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 6vw, 84px); margin-top: 100px; padding-top: 24px; border-top: 2px solid var(--ink); }
.abstract p { margin: 0; color: #35413d; font-size: 14px; line-height: 1.55; }
.argument-map { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 52px; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.argument-map a { display: flex; min-height: 52px; gap: 11px; align-items: center; padding: 10px 14px; color: var(--ink); border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); font: 11px/1.25 var(--mono); text-decoration: none; text-transform: uppercase; }
.argument-map a:hover { background: rgba(40, 120, 104, .09); }
.argument-map span { color: var(--model); font-weight: 600; }
.margin-thesis { margin: 0; padding: 30px clamp(24px, 7vw, 90px); color: var(--paper); background: var(--ink); }
.margin-thesis span { color: #a6c9be; font: 10px/1 var(--mono); letter-spacing: .15em; text-transform: uppercase; }
.margin-thesis p { max-width: 860px; margin: 12px 0 0; font: 24px/1.4 var(--serif); }

.paper-body { counter-reset: figure; }
.discourse, .evaluation { padding: clamp(80px, 11vw, 150px) clamp(24px, 9vw, 120px); border-bottom: 1.5px solid var(--ink); }
.discourse h2, .evaluation h2 { max-width: 820px; margin: 14px 0 36px; font: 600 clamp(43px, 6.8vw, 82px)/.98 var(--serif); letter-spacing: -.04em; }
.discourse > p:not(.section-mark):not(.hand-note):not(.next-question), .evaluation-copy p { max-width: 760px; color: #2f3a36; font-size: clamp(18px, 2vw, 23px); line-height: 1.62; }
.hand-note { width: fit-content; max-width: 660px; margin: 50px 0 0 auto; padding: 8px 14px 6px; color: #213b46; background: rgba(53, 111, 146, .09); border-bottom: 2px solid var(--space); font: 25px/1.2 var(--hand); transform: rotate(-1deg); }
.hand-note::before { content: "↳ "; }

.atom-lab, .correlation-lab, .photon-lab, .pair-lab, .lepton-lab, .beta-lab, .lindgren-lab, .telegraph-lab, .prediction-lab { margin: 0; padding: clamp(40px, 7vw, 90px); color: #f4f0e4; background: #17201d; border-bottom: 2px solid #17201d; }
.atom-lab figcaption, .correlation-lab figcaption, .photon-lab figcaption, .pair-lab figcaption, .lepton-lab figcaption, .beta-lab figcaption, .lindgren-lab figcaption, .telegraph-lab figcaption, .prediction-lab figcaption { display: grid; grid-template-columns: minmax(200px, .55fr) 1fr; gap: 20px 60px; align-items: end; margin-bottom: 34px; }
.atom-lab figcaption span, .correlation-lab figcaption span, .photon-lab figcaption span, .pair-lab figcaption span, .lepton-lab figcaption span, .beta-lab figcaption span, .lindgren-lab figcaption span, .telegraph-lab figcaption span, .prediction-lab figcaption span { color: #95c5b9; font: 10px/1.2 var(--mono); letter-spacing: .16em; }
.atom-lab figcaption h3, .correlation-lab figcaption h3, .photon-lab figcaption h3, .pair-lab figcaption h3, .lepton-lab figcaption h3, .beta-lab figcaption h3, .lindgren-lab figcaption h3, .telegraph-lab figcaption h3, .prediction-lab figcaption h3 { margin: 0; font: 600 clamp(34px, 5vw, 64px)/1 var(--serif); letter-spacing: -.035em; }
.atom-lab figcaption p, .correlation-lab figcaption p, .photon-lab figcaption p, .pair-lab figcaption p, .lepton-lab figcaption p, .beta-lab figcaption p, .lindgren-lab figcaption p, .telegraph-lab figcaption p, .prediction-lab figcaption p { grid-column: 2; max-width: 620px; margin: 0; color: #b7c3be; font-size: 15px; line-height: 1.5; }
.lab-controls { display: grid; grid-template-columns: auto auto 1fr 1fr 1fr; gap: 18px 24px; align-items: end; padding: 18px 0; border-top: 1px solid #5a6963; border-bottom: 1px solid #5a6963; }
.control-group { display: flex; gap: 6px; }
.lab-controls button, .photon-controls button, .pair-controls button, .lepton-controls button, .beta-controls button, .lindgren-controls button, .telegraph-controls button, .prediction-controls button, #exchange-toggle { min-width: 44px; min-height: 44px; padding: 0 14px; color: #e9f1ed; background: transparent; border: 1px solid #83918c; cursor: pointer; font: 600 12px/1 var(--mono); }
.lab-controls button[aria-pressed="true"], .photon-controls button[aria-pressed="true"], .pair-controls button[aria-pressed="true"], .lepton-controls button[aria-pressed="true"], .beta-controls button[aria-pressed="true"], .lindgren-controls button[aria-pressed="true"], .telegraph-controls button[aria-pressed="true"], .prediction-controls button[aria-pressed="true"], #exchange-toggle[aria-pressed="true"] { color: var(--ink); background: #a5d3c4; border-color: #a5d3c4; }
.lab-controls label { display: grid; grid-template-columns: 1fr auto; gap: 9px 16px; color: #c3cfca; font: 10px/1.2 var(--mono); text-transform: uppercase; }
.lab-controls input { grid-column: 1 / -1; width: 100%; accent-color: #a5d3c4; }
.lab-controls output { color: #f2c46c; }
.canvas-wrap { position: relative; margin-top: 26px; background: #f8f4e9; border: 2px solid #e6decb; transform: rotate(.15deg); }
#atom-canvas { display: block; width: 100%; height: auto; touch-action: pan-y; }
.measurements { display: grid; grid-template-columns: repeat(5, 1fr); margin: 24px 0 0; border-top: 1px solid #5a6963; border-left: 1px solid #5a6963; }
.measurements div { min-width: 0; padding: 14px; border-right: 1px solid #5a6963; border-bottom: 1px solid #5a6963; }
.measurements dt { color: #94aaa2; font: 9px/1.2 var(--mono); text-transform: uppercase; }
.measurements dd { margin: 8px 0 0; color: #fff8e9; font: 18px/1.2 var(--hand); overflow-wrap: anywhere; }

.equation-section { background-image: linear-gradient(90deg, transparent 0 8.3%, rgba(197, 107, 36, .18) 8.35% 8.48%, transparent 8.53%); }
.equation { max-width: 920px; margin: 40px auto; padding: 28px 32px; overflow-x: auto; background: #fffdf5; border: 1.5px solid var(--ink); box-shadow: 4px 4px 0 rgba(23, 32, 29, .15); }
.equation mjx-container { min-width: max-content; color: var(--ink); }

.evaluation { background: var(--paper-deep); }
.evaluation-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); gap: clamp(30px, 6vw, 80px); align-items: center; }
.plot { min-width: 0; overflow-x: auto; }
.plot svg { display: block; width: 100%; min-width: 560px; height: auto; }
.evaluation-copy { position: relative; padding: 28px 0 28px 32px; border-left: 2px solid var(--ink); }
.evaluation-copy p { font-size: 17px; }
#exchange-toggle { margin: 18px 0; color: var(--ink); border-color: var(--ink); }
#exchange-toggle[aria-pressed="true"] { background: #cbe0d7; }
#exchange-result { font-family: var(--hand); font-size: 22px; }
.next-question { max-width: 860px; margin: 70px 0 0; padding: 24px 28px; color: var(--ink); background: #f4ddb0; border: 2px solid var(--ink); font: 30px/1.25 var(--hand); transform: rotate(-.35deg); }
.historical-question { max-width: 880px; margin: 74px 0 46px; padding: 22px 28px; color: var(--ink); background: rgba(53, 111, 146, .09); border-left: 4px solid var(--space); font: 29px/1.28 var(--hand); }

.correlation-lab { background: #21302b; }
.correlation-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; padding: 18px 0; border-top: 1px solid #64726c; border-bottom: 1px solid #64726c; }
.correlation-controls label, .photon-controls label, .pair-controls label, .lepton-controls label, .beta-controls label, .lindgren-controls label, .telegraph-controls label, .prediction-controls label { display: grid; grid-template-columns: 1fr auto; gap: 9px 16px; color: #c3cfca; font: 10px/1.2 var(--mono); text-transform: uppercase; }
.correlation-controls input, .photon-controls input, .pair-controls input, .lepton-controls input, .beta-controls input, .lindgren-controls input, .telegraph-controls input, .prediction-controls input { grid-column: 1 / -1; width: 100%; accent-color: #a5d3c4; }
.correlation-controls output, .photon-controls output, .pair-controls output, .lepton-controls output, .beta-controls output, .lindgren-controls output, .telegraph-controls output, .prediction-controls output { color: #f2c46c; }
.correlation-plot { margin-top: 25px; padding: 18px 12px 2px; color: var(--ink); background: #f8f4e9; border: 2px solid #e6decb; transform: rotate(-.08deg); }
.correlation-plot svg { min-width: 720px; }
.plot svg text { fill: #394440; font: 12px var(--mono); }
.plot svg .plot-title { fill: #17201d; font: 20px var(--hand); }
.plot svg .measure-label { fill: #9c4e1c; font: 15px var(--hand); }
.plot svg .large-measure { fill: #c56b24; font: 38px var(--hand); }
.plot svg .model-measure { fill: #287868; font: 28px var(--hand); }
.correlation-measurements, .photon-measurements { grid-template-columns: repeat(4, 1fr); }
.figure-verdict { max-width: 820px; margin: 38px 0 0 auto; color: #dce6e1; font: 24px/1.35 var(--hand); }
.correlation-lab .figure-verdict mjx-container { color: #f2c46c; }

.photon-lab { background: #142229; }
.photon-controls { display: grid; grid-template-columns: auto auto 1fr 1fr; gap: 18px 28px; align-items: end; padding: 18px 0; border-top: 1px solid #5f7077; border-bottom: 1px solid #5f7077; }
.photon-controls .photon-time-control { grid-column: 1 / -1; }
.photon-canvas-wrap { border-color: #dfe7e5; }
#photon-canvas { display: block; width: 100%; height: auto; touch-action: pan-y; }
.photon-evaluation .figure-verdict { margin: 26px 0 0; color: #273530; font-size: 21px; }

.packet-lab { margin: 0; padding: clamp(24px, 6vw, 70px); color: #17201d; background: #f8f4e9; }
.packet-lab h3 { margin: 0 0 16px; font: 600 clamp(28px, 4vw, 46px)/1.1 var(--serif); }
.packet-lab p { max-width: 72ch; line-height: 1.55; }
.packet-controls { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; margin: 24px 0; }
.packet-controls label { display: flex; justify-content: space-between; gap: 10px; font: 13px/1.4 var(--mono); }
.packet-controls input { grid-column: 1 / -1; width: 100%; accent-color: #356f92; }
.packet-controls button { padding: 12px; min-height: 44px; color: #fff; background: #356f92; border: 1px solid #264c64; cursor: pointer; }
.packet-controls :focus-visible { outline: 3px solid #356f92; outline-offset: 3px; }
#packet-canvas { display: block; width: 100%; height: 330px; }
.packet-readouts { display: flex; flex-wrap: wrap; gap: 18px 32px; font: 13px/1.4 var(--mono); }
.packet-readouts dd { margin: 4px 0 0; font-variant-numeric: tabular-nums; }
@media (max-width: 500px) { .packet-controls { grid-template-columns: 1fr; } }
.pair-lab { background: #26232d; }
.pair-controls { display: grid; grid-template-columns: auto 1fr 1fr; gap: 18px 28px; align-items: end; padding: 18px 0; border-top: 1px solid #686474; border-bottom: 1px solid #686474; }
.pair-controls .pair-time-control { grid-column: 1 / -1; }
.pair-canvas-wrap { border-color: #e3dfeb; }
#pair-canvas { display: block; width: 100%; height: auto; touch-action: pan-y; }
.pair-measurements { grid-template-columns: repeat(4, 1fr); }
.pair-lab .figure-verdict { color: #e5ddef; }
.lepton-lab { background: #1b292e; }
.lepton-controls { display: grid; grid-template-columns: auto 1fr; gap: 18px 28px; align-items: end; padding: 18px 0; border-top: 1px solid #607178; border-bottom: 1px solid #607178; }
.lepton-controls .lepton-time-control { grid-column: 1 / -1; }
.lepton-canvas-wrap { border-color: #dce6e8; }
#lepton-canvas { display: block; width: 100%; height: auto; touch-action: pan-y; }
.lepton-measurements { grid-template-columns: repeat(5, 1fr); }
.beta-lab { background: #2b2720; }
.beta-controls { display: grid; grid-template-columns: auto auto 1fr; gap: 18px 28px; align-items: end; padding: 18px 0; border-top: 1px solid #746d5f; border-bottom: 1px solid #746d5f; }
.beta-controls .beta-energy-control { min-width: 0; }
.beta-canvas-wrap { border-color: #ebe2d1; }
#beta-canvas { display: block; width: 100%; height: auto; touch-action: pan-y; }
.beta-measurements { grid-template-columns: repeat(5, 1fr); }
.carbon-evaluation > p:not(.section-mark):not(.next-question) { max-width: 800px; color: #2f3a36; font-size: clamp(18px, 2vw, 23px); line-height: 1.62; }
.lindgren-lab { background: #18242a; }
.lindgren-controls, .telegraph-controls { display: grid; grid-template-columns: auto 1fr 1fr; gap: 18px 28px; align-items: end; padding: 18px 0; border-top: 1px solid #607178; border-bottom: 1px solid #607178; }
.lindgren-controls .lindgren-time-control, .telegraph-controls .telegraph-time-control { grid-column: 1 / -1; }
.lindgren-canvas-wrap, .telegraph-canvas-wrap { border-color: #dce6e8; }
#lindgren-canvas, #telegraph-canvas { display: block; width: 100%; height: auto; touch-action: pan-y; }
.lindgren-measurements { grid-template-columns: repeat(4, 1fr); }
.telegraph-measurements { grid-template-columns: repeat(3, 1fr); }
#telegraph-norm-canvas { display: block; width: 100%; height: 310px; }
.telegraph-lab { background: #242434; }
.lindgren-evaluation > p:not(.section-mark):not(.next-question) { max-width: 800px; color: #2f3a36; font-size: clamp(18px, 2vw, 23px); line-height: 1.62; }
.prediction-lab { background: #202a23; }
.prediction-controls { display: grid; grid-template-columns: 1fr auto; gap: 18px 28px; align-items: end; padding: 18px 0; border-top: 1px solid #607168; border-bottom: 1px solid #607168; }
.prediction-nuclei { flex-wrap: wrap; }
.prediction-controls .prediction-energy-control { grid-column: 1 / -1; }
.prediction-canvas-wrap { border-color: #dce8df; }
#prediction-canvas { display: block; width: 100%; height: auto; touch-action: pan-y; }
.prediction-measurements { grid-template-columns: repeat(4, 1fr); }
.dipole-strength-lab figcaption { display: block; }
.dipole-strength-lab figcaption p { margin-top: 22px; max-width: 760px; }
.dipole-strength-control { display: flex; align-items: center; gap: 16px; font: 14px/1.5 var(--mono); }
.dipole-strength-control select { padding: 9px 14px; color: #17201d; background: #f8f4e9; border: 1px solid #94aaa2; border-radius: 4px; font: inherit; }
.dipole-strength-control select:focus-visible { outline: 3px solid #95c5ff; outline-offset: 3px; }
.dipole-strength-status { max-width: 780px; color: #dbe5df; font-size: 15px; line-height: 1.6; }
#dipole-strength-canvas { display: block; width: 100%; height: auto; }
.dipole-comparison-table { width: 100%; margin: 30px 0; border-collapse: collapse; table-layout: fixed; font: 15px/1.5 Tahoma, sans-serif; }
.dipole-comparison-table caption { padding-bottom: 14px; text-align: left; }
.dipole-comparison-table th, .dipole-comparison-table td { padding: 12px 6px; border-bottom: 1px solid var(--ink); text-align: left; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.prediction-evaluation > p:not(.section-mark):not(.next-question) { max-width: 820px; color: #2f3a36; font-size: clamp(18px, 2vw, 23px); line-height: 1.62; }
.provenance-table { margin-top: 50px; border-top: 2px solid var(--ink); border-left: 1px solid var(--ink); }
.provenance-table [role="row"] { display: grid; grid-template-columns: .7fr 1.1fr 1.2fr 1fr; }
.provenance-table [role="row"] > span { min-width: 0; padding: 15px 13px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); font-size: 14px; line-height: 1.45; }
.provenance-head { color: var(--paper); background: var(--ink); font: 600 10px/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.ontology { background: #f3ead8; }
.ontology-sequence { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 18px; align-items: center; max-width: 900px; margin: 54px 0; }
.ontology-sequence div { min-height: 150px; padding: 22px; border: 1.5px solid var(--ink); box-shadow: 4px 4px 0 rgba(23, 32, 29, .14); }
.ontology-sequence span { color: var(--model); font: 600 11px/1 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.ontology-sequence p { margin: 20px 0; font: 24px/1.2 var(--hand); }
.ontology-sequence code { font: 14px/1.4 var(--mono); }
.ontology-sequence > b { font: 34px/1 var(--hand); }
.proton-question { background: #e9e2d2; }
.proton-question > p:not(.section-mark):not(.next-question) { max-width: 790px; color: #2f3a36; font-size: clamp(18px, 2vw, 23px); line-height: 1.62; }
.proton-contract { margin-left: 0; }

.paper-footer { padding: 70px clamp(24px, 9vw, 120px); color: #e9eee9; background: var(--ink); }
.references h2 { font: 600 30px/1 var(--serif); }
.references ol { max-width: 850px; padding-left: 24px; color: #bcc8c2; font-size: 14px; line-height: 1.7; }
.references a { color: #a9d2c5; }
.continuation { max-width: 800px; margin: 60px 0 0; padding-top: 24px; color: #f2c46c; border-top: 1px solid #5a6963; font: 27px/1.35 var(--hand); }

button:focus-visible, input:focus-visible, a:focus-visible { outline: 3px solid var(--measure); outline-offset: 4px; }

@media (max-width: 780px) {
  main { width: 100%; margin: 0; border-width: 0; box-shadow: none; }
  .paper-head { min-height: auto; padding-bottom: 70px; }
  .paper-head .folio { margin-top: 80px; }
  .abstract { grid-template-columns: 1fr; margin-top: 70px; }
  .argument-map { grid-template-columns: 1fr 1fr; }
  .atom-lab figcaption, .correlation-lab figcaption, .photon-lab figcaption, .pair-lab figcaption, .lepton-lab figcaption, .beta-lab figcaption, .lindgren-lab figcaption, .telegraph-lab figcaption, .prediction-lab figcaption { grid-template-columns: 1fr; }
  .atom-lab figcaption p, .correlation-lab figcaption p, .photon-lab figcaption p, .pair-lab figcaption p, .lepton-lab figcaption p, .beta-lab figcaption p, .lindgren-lab figcaption p, .telegraph-lab figcaption p, .prediction-lab figcaption p { grid-column: 1; }
  .lab-controls { grid-template-columns: 1fr; }
  .correlation-controls, .photon-controls, .pair-controls, .lepton-controls, .beta-controls, .lindgren-controls, .telegraph-controls, .prediction-controls { grid-template-columns: 1fr; }
  .photon-controls .photon-time-control, .pair-controls .pair-time-control, .lepton-controls .lepton-time-control, .lindgren-controls .lindgren-time-control, .telegraph-controls .telegraph-time-control, .prediction-controls .prediction-energy-control { grid-column: 1; }
  .provenance-table { overflow-x: auto; }
  .provenance-table [role="row"] { min-width: 780px; }
  .ontology-sequence { grid-template-columns: 1fr; }
  .ontology-sequence > b { transform: rotate(90deg); justify-self: center; }
  .measurements { grid-template-columns: repeat(2, 1fr); }
  .evaluation-layout { grid-template-columns: 1fr; }
  .evaluation-copy { padding: 26px 0 0; border-top: 2px solid var(--ink); border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
/* Computed consequences share the publication's technical paper and ink. */
.research-lab { margin: 0; padding: clamp(30px, 6vw, 75px); border-bottom: 1.5px solid var(--ink); }
.research-lab figcaption { max-width: 780px; margin: 0 auto 1.5rem; }
.research-lab h3, .research-discourse h3 { margin: 0 0 1.2rem; font: 600 clamp(25px, 4vw, 42px)/1.15 var(--serif); }
.research-lab figcaption p, .research-note { font-size: 17px; line-height: 1.65; }
.research-discourse { padding-top: clamp(50px, 7vw, 90px); padding-bottom: clamp(50px, 7vw, 90px); }
.research-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1rem; margin: 1.5rem 0; font: 14px/1.6 Tahoma, sans-serif; }
.research-controls input[type="range"] { width: min(270px, 55vw); accent-color: var(--model); }
.research-controls input[type="number"] { width: 6rem; }
.research-controls input[type="number"], .research-controls select { min-height: 44px; padding: .4rem .6rem; font: 16px/1.4 Tahoma, sans-serif; color: var(--ink); background: #fffdf6; border: 1px solid var(--rule); }
.research-controls select:focus-visible { outline: 3px solid var(--measure); outline-offset: 4px; }
.research-lab canvas { display: block; width: 100%; }
.research-status { min-height: 3em; color: var(--muted); font: 14px/1.6 Tahoma, sans-serif; }
.research-table { font-size: 14px; }
@media(max-width: 440px) {
  .research-lab { padding-left: 14px; padding-right: 14px; }
  .research-controls { gap: .7rem; }
}
.consequences-lab, .closure-lab, .precision-lab { margin: 0; padding: clamp(30px, 6vw, 75px) clamp(24px, 6vw, 75px); border-bottom: 1.5px solid var(--ink); }
.consequences-lab figcaption, .closure-lab figcaption, .precision-lab figcaption { max-width: 780px; margin: 0 auto 1.4rem; }
.consequences-lab figcaption h3, .closure-lab figcaption h3, .precision-lab figcaption h3 { margin: 0 0 1rem; font: 600 clamp(25px, 4vw, 42px)/1.15 var(--serif); }
.consequences-lab figcaption p, .closure-lab figcaption p, .precision-lab figcaption p { font-size: 17px; line-height: 1.6; }
.consequences-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; margin: 1.3rem 0; font: 14px/1.6 Tahoma, sans-serif; }
.consequences-controls label { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; }
.consequences-controls input[type="checkbox"] { width: 18px; height: 18px; accent-color: #286fa0; }
.consequences-controls input[type="range"] { width: min(250px, 60vw); accent-color: #286fa0; }
.consequences-controls output { min-width: 3rem; font-variant-numeric: tabular-nums; }
#consequences-canvas, #closure-energy-canvas, #tau-precision-canvas { display: block; width: 100%; }
.precision-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1rem; margin: 1.3rem 0; font: 14px/1.6 Tahoma, sans-serif; }
.precision-controls input[type="range"] { width: min(270px, 55vw); accent-color: #286fa0; }
.precision-controls input[type="number"] { width: 6rem; padding: .4rem .5rem; font: 16px/1.4 Tahoma, sans-serif; color: #17201d; background: #fffdf6; border: 1px solid #817f72; border-radius: 3px; }
#tau-precision-status { min-height: 3em; font: 14px/1.6 Tahoma, sans-serif; color: var(--ink); }
.consequences-readouts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.consequences-readouts dd { overflow-wrap: anywhere; }
.consequences-readouts dt { color: var(--muted); font-size: 11px; line-height: 1.45; }
.consequences-readouts dd { color: var(--ink); font: 14px/1.5 var(--mono); }
.evidence-table-wrap { overflow-x: auto; margin-top: 1rem; }
.evidence-table { width: 100%; border-collapse: collapse; font: 13px/1.55 Tahoma, sans-serif; text-align: left; }
.evidence-table caption { text-align: left; padding: .7rem 0; color: #59645f; }
.evidence-table th, .evidence-table td { padding: .8rem .65rem; border-bottom: 1px solid #c8c3b8; vertical-align: top; }
.evidence-table td { font-variant-numeric: tabular-nums; }
#consequences-status { font: 13px/1.6 Tahoma, sans-serif; color: #59645f; }
@media(max-width: 650px) {
  .consequences-readouts { grid-template-columns: 1fr; }
  .evidence-table { min-width: 650px; }
  .consequences-controls { display: grid; gap: .8rem; }
}
