/* A dark research publication: system type, precise charts, one semantic accent. */
:root {
  color-scheme:dark;
  --bg:#171a18;
  --panel:#1d211e;
  --text:#f0eee6;
  --muted:#b4bab1;
  --subtle:#979f94;
  --rule:#424a40;
  --grid:#30372f;
  --accent:#d8ed91;
  --serif:Georgia,'Times New Roman',serif;
  --sans:'Segoe UI',Arial,Helvetica,sans-serif;
  --mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:28px;
}
body {
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:17px/1.65 var(--sans);
  -webkit-font-smoothing:antialiased;
}
::selection {
  background:var(--accent);
  color:var(--bg);
}
a {
  color:inherit;
  text-underline-offset:5px;
  text-decoration-thickness:1px;
}
a:hover {
  color:var(--accent);
}
button,input,a,summary {
  -webkit-tap-highlight-color:transparent;
}
:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:6px;
}
button,input {
  font:inherit;
}
button {
  cursor:pointer;
}
h1,h2,h3,p {
  margin:0;
}
h1,h2 {
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.035em;
  text-wrap:balance;
}
h2 {
  font-size:clamp(32px,3.5vw,48px);
  line-height:1.13;
}
h3 {
  font-size:20px;
  font-weight:500;
  line-height:1.35;
}
p+p {
  margin-top:18px;
}
strong {
  font-weight:600;
  color:var(--text);
}
em {
  font-family:var(--serif);
}
sup,sub {
  line-height:0;
}
sup {
  font-size:.65em;
}
sub {
  font-size:.65em;
}
.wrap {
  max-width:1320px;
  margin-inline:auto;
  padding-inline:60px;
}
.masthead {
  display:flex;
  align-items:center;
  gap:32px;
  min-height:91px;
  border-bottom:1px solid var(--rule);
}
.wordmark {
  font-size:27px;
  font-weight:600;
  letter-spacing:-.055em;
  text-decoration:none;
}
.wordmark-slash {
  font-weight:400;
  color:var(--accent);
  margin-inline:3px;
}
.edition {
  color:var(--muted);
  font-size:13px;
}
.masthead nav {
  display:flex;
  margin-left:auto;
  gap:28px;
  font-size:13px;
}
.masthead nav a {
  text-decoration:none;
}
.hero {
  padding:66px 0 68px;
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:70px;
  align-items:end;
}
.hero h1 {
  font-size:clamp(54px,6.4vw,85px);
  line-height:1.035;
  letter-spacing:-.04em;
}
.hero h1 em {
  font-weight:400;
  color:var(--accent);
}
.hero-aside {
  padding-bottom:5px;
  max-width:360px;
}
.hero-aside p {
  font-size:16px;
  color:var(--muted);
}
.hero-aside .thesis {
  font-size:22px;
  line-height:1.5;
  color:var(--text);
}
.text-link {
  display:inline-flex;
  gap:22px;
  margin-top:23px;
  font-size:14px;
  color:var(--accent);
  text-decoration:none;
  border-bottom:1px solid var(--rule);
  padding-bottom:6px;
}
.section {
  border-top:1px solid var(--rule);
  padding-block:76px;
  scroll-margin-top:24px;
}
.law-section {
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:0 66px;
  padding-top:43px;
}
.section-intro h2 {
  font-size:36px;
}
.section-intro p {
  font-size:15px;
  color:var(--muted);
  margin-top:23px;
}
.citation {
  display:inline-block;
  font-size:13px;
  margin-top:20px;
  color:var(--accent);
}
.formula {
  font:34px/1.4 var(--serif);
  margin-top:35px;
  padding-block:18px;
  border-block:1px solid var(--rule);
}
.small,.section-intro p.small {
  font-size:13px;
  line-height:1.65;
  color:var(--muted);
}
.experiment {
  min-width:0;
}
.figure-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  font-size:13px;
  padding-bottom:9px;
}
.scale-label {
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.04em;
  color:var(--muted);
  white-space:nowrap;
}
.chart {
  display:block;
  width:100%;
  height:330px;
  overflow:visible;
}
.chart text,.mini-chart text {
  font-family:var(--mono);
  font-size:11px;
  fill:var(--muted);
}
.chart .axis-title,.mini-chart .axis-title {
  font-family:var(--sans);
  font-size:11px;
}
.chart .annotation,.mini-chart .annotation {
  fill:var(--accent);
  font-size:12px;
}
.chart .curve,.mini-chart .curve {
  stroke:var(--accent);
  stroke-width:2.5;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.gridline {
  stroke:var(--grid);
  stroke-width:1;
}
.axis-line {
  stroke:var(--rule);
}
.floor-line {
  stroke:var(--muted);
  stroke-dasharray:5 6;
}
.guide-line {
  stroke:var(--accent);
  stroke-dasharray:3 5;
  opacity:.55;
}
.data-point {
  fill:var(--accent);
  stroke:var(--bg);
  stroke-width:3;
}
.ghost-point {
  fill:var(--bg);
  stroke:var(--accent);
  stroke-width:2;
}
.instrument {
  padding:21px 25px 16px;
  background:var(--panel);
  margin-top:13px;
}
.control-title {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
}
.control-title output,.comparison-controls output {
  color:var(--accent);
  font:13px var(--mono);
  white-space:nowrap;
}
input[type=range] {
  display:block;
  width:100%;
  height:44px;
  margin:5px 0 0;
  appearance:none;
  background:transparent;
  cursor:pointer;
  accent-color:var(--accent);
}
input[type=range]::-webkit-slider-runnable-track {
  height:3px;
  background:#6a7464;
  border-radius:0;
}
input[type=range]::-moz-range-track {
  height:3px;
  background:#6a7464;
}
input[type=range]::-webkit-slider-thumb {
  appearance:none;
  width:17px;
  height:17px;
  border-radius:50%;
  background:var(--accent);
  border:3px solid var(--panel);
  box-shadow:0 0 0 1px var(--accent);
  margin-top:-7px;
}
input[type=range]::-moz-range-thumb {
  width:13px;
  height:13px;
  border-radius:50%;
  background:var(--accent);
  border:3px solid var(--panel);
  box-shadow:0 0 0 1px var(--accent);
}
.range-ends {
  display:flex;
  justify-content:space-between;
  font:11px var(--mono);
  color:var(--muted);
}
.experiment-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:23px;
}
.readout-label {
  display:block;
  font-size:12px;
  color:var(--muted);
}
.readout {
  font:34px/1.4 var(--mono);
  letter-spacing:-.04em;
  color:var(--text);
}
.unit {
  font-size:11px;
  color:var(--muted);
  white-space:nowrap;
}
button {
  border:1px solid var(--accent);
  padding:11px 17px;
  min-height:44px;
  background:var(--accent);
  color:var(--bg);
  font-size:12px;
  font-weight:600;
  transition:background .15s;
}
button:hover {
  background:#e8f8b9;
}
button:disabled {
  cursor:default;
  opacity:.55;
}
button span {
  padding-left:7px;
}
.live-note {
  font-size:12px;
  color:var(--muted);
  margin-top:14px;
  min-height:20px;
}
.quiet-button {
  border:0;
  background:none;
  color:var(--muted);
  padding:8px 0;
  text-decoration:underline;
  text-underline-offset:4px;
  font-size:12px;
  font-weight:400;
}
.quiet-button:hover {
  background:none;
  color:var(--accent);
}
.meaning {
  grid-column:1/-1;
  max-width:900px;
  font-size:14px;
  line-height:1.8;
  color:var(--muted);
  margin-top:38px;
}
.meaning strong {
  font-size:12px;
  display:block;
  margin-bottom:7px;
  color:var(--accent);
}
.equation-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px 70px;
}
.equation-section>div>p {
  font-size:16px;
  color:var(--muted);
  margin-top:22px;
  max-width:460px;
}
.equation {
  align-self:center;
  font:clamp(30px,3.6vw,47px)/1.6 var(--serif);
  white-space:nowrap;
}
.equation>span {
  color:var(--accent);
}
.equation-key {
  grid-column:2;
  display:flex;
  gap:25px;
  margin:0;
}
.equation-key dt {
  font:22px var(--serif);
}
.equation-key dd {
  font-size:12px;
  color:var(--muted);
  margin:7px 0 0;
}
.regimes {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:.9fr 1fr 1fr 1fr;
  gap:28px;
  margin-top:30px;
  padding-top:28px;
  border-top:1px solid var(--rule);
}
.regimes h3 {
  font:22px var(--serif);
}
.equation-section .regimes p {
  margin:0;
  font-size:13px;
}
.regimes strong {
  display:block;
  font-weight:500;
  margin-bottom:9px;
}
.regimes span {
  display:block;
}
.equation-section .meaning {
  margin-top:3px;
}
.section-heading {
  max-width:780px;
  margin-bottom:42px;
}
.section-heading>p {
  max-width:730px;
  color:var(--muted);
  font-size:16px;
  margin-top:25px;
}
.floor-layout {
  display:grid;
  grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr);
  gap:55px;
}
.floor-chart {
  height:370px;
  cursor:ns-resize;
  touch-action:pan-x;
}
.floor-controls {
  padding-top:15px;
}
.big-readout {
  font:58px/1.5 var(--mono);
  letter-spacing:-.05em;
  color:var(--accent);
}
.floor-controls .small {
  margin-top:18px;
}
.chart-help {
  font-size:12px;
  color:var(--muted);
  margin-top:5px;
}
.comparison-controls {
  display:grid;
  grid-template-columns:1fr auto;
  max-width:640px;
  margin-bottom:42px;
  font-size:13px;
}
.comparison-controls input,.comparison-controls .range-ends {
  grid-column:1/-1;
}
.comparison {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.comparison article {
  padding:0 28px;
  border-right:1px solid var(--rule);
  min-width:0;
}
.comparison article:first-child {
  padding-left:0;
}
.comparison article:last-child {
  padding-right:0;
  border:0;
}
.dataset-heading {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
}
.dataset-heading h3 {
  font:27px var(--serif);
}
.dataset-heading>span {
  font-size:11px;
  color:var(--muted);
}
.mini-chart {
  display:block;
  width:100%;
  height:230px;
  margin-top:15px;
}
.dataset-readout {
  display:flex;
  gap:12px;
  align-items:baseline;
}
.dataset-readout output {
  font:30px var(--mono);
  color:var(--accent);
}
.dataset-readout span,.comparison article>p {
  font-size:12px;
  color:var(--muted);
}
.comparison article>p {
  margin-top:13px;
}
.comparison article>p.model-note {
  font-size:11px;
  font-family:var(--mono);
  color:var(--subtle);
}
details {
  margin-top:35px;
  font-size:13px;
  color:var(--muted);
  max-width:850px;
}
summary {
  cursor:pointer;
  padding-block:12px;
  min-height:44px;
  color:var(--text);
}
details p {
  padding-top:10px;
}
details a {
  color:var(--accent);
}
.allocation-layout {
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(0,1.55fr);
  gap:65px;
}
.allocation-controls {
  padding-top:7px;
}
.allocation-stats {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:28px;
}
.allocation-stats span {
  display:block;
  font-size:11px;
  color:var(--muted);
}
.allocation-stats output {
  font:28px/1.6 var(--mono);
}
.allocation-rule {
  display:flex;
  gap:15px;
  align-items:center;
  font:48px/1.3 var(--serif);
  color:var(--accent);
  margin-top:20px;
}
.allocation-rule span {
  font:12px/1.5 var(--sans);
  color:var(--muted);
}
.allocation-controls .small {
  margin-top:12px;
  margin-bottom:30px;
}
.allocation-result {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  border-top:1px solid var(--rule);
  padding-top:22px;
  margin-top:17px;
}
.allocation-result span {
  display:block;
  font-size:11px;
  color:var(--muted);
}
.allocation-result output {
  display:block;
  font:18px/1.7 var(--mono);
  color:var(--accent);
}
.cost-section {
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:30px 70px;
}
.cost-figure {
  font:clamp(66px,8vw,104px)/1.1 var(--serif);
  letter-spacing:-.04em;
  color:var(--accent);
}
.cost-figure span {
  display:block;
  font:15px/1.5 var(--sans);
  letter-spacing:0;
  color:var(--muted);
  margin-top:23px;
}
.cost-section h2 {
  font-size:31px;
  margin-bottom:24px;
}
.cost-section p {
  font-size:15px;
  color:var(--muted);
}
.cost-section p.small {
  font-size:12px;
}
.cost-section .meaning {
  font-size:14px;
  margin-top:6px;
}
.closing>h2 {
  font-size:clamp(42px,5vw,64px);
}
.interpretations {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  margin-top:42px;
  max-width:950px;
}
.interpretations p {
  font-size:16px;
  color:var(--muted);
  margin-top:16px;
}
.closing-question {
  font:clamp(25px,3vw,36px)/1.45 var(--serif);
  margin-top:64px;
}
.closing-question em {
  color:var(--accent);
}
.references {
  border-top:1px solid var(--rule);
  padding-top:48px;
  padding-bottom:26px;
  display:grid;
  grid-template-columns:1fr 1.8fr;
  gap:40px 70px;
}
.footer-intro h2 {
  font-size:31px;
}
.footer-intro p {
  font-size:13px;
  color:var(--muted);
  margin-top:17px;
}
.paper-list {
  list-style:none;
  padding:0;
  margin:0;
}
.paper-list li {
  padding-bottom:22px;
}
.paper-list li>span {
  font-size:11px;
  color:var(--muted);
}
.paper-list a {
  display:flex;
  justify-content:space-between;
  gap:22px;
  font-size:14px;
  text-decoration:none;
  margin-top:5px;
}
.paper-list a span {
  font-size:11px;
  color:var(--accent);
  white-space:nowrap;
  padding-top:3px;
}
.colophon {
  grid-column:1/-1;
  border-top:1px solid var(--rule);
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
  color:var(--muted);
}
.colophon a {
  text-decoration:none;
}
.skip-link {
  position:absolute;
  top:10px;
  left:15px;
  z-index:10;
  padding:12px;
  background:var(--accent);
  color:var(--bg);
  transform:translateY(-180%);
}
.skip-link:focus {
  transform:none;
}
.notice {
  padding:20px;
  border:1px solid var(--accent);
}
output {
  font-variant-numeric:tabular-nums;
}
body {
  scrollbar-color:var(--rule) var(--bg);
}
@media(min-width:1500px) {
  .wrap {
    max-width:1440px;
    padding-inline:72px;
  }
  .hero {
    padding-block:82px;
  }
  .chart {
    height:355px;
  }
  .floor-chart {
    height:380px;
  }
}
@media(max-width:1050px) {
  .wrap {
    padding-inline:35px;
  }
  .hero {
    gap:40px;
    grid-template-columns:1.3fr 1fr;
  }
  .hero h1 {
    font-size:65px;
  }
  .hero-aside .thesis {
    font-size:19px;
  }
  .law-section {
    grid-template-columns:245px minmax(0,1fr);
    gap:0 35px;
  }
  .section-intro h2 {
    font-size:31px;
  }
  .experiment-bottom {
    align-items:flex-start;
    flex-direction:column;
  }
  .floor-layout {
    gap:30px;
  }
  .comparison article {
    padding-inline:18px;
  }
  .dataset-heading {
    display:block;
  }
  .dataset-heading>span {
    display:block;
    margin-top:6px;
  }
  .allocation-layout {
    gap:30px;
  }
  .allocation-result output {
    font-size:16px;
  }
  .equation-section {
    gap:30px;
  }
  .regimes {
    gap:20px;
  }
  .references {
    gap:35px;
  }
  .cost-section {
    gap:30px;
  }
  .cost-figure {
    font-size:85px;
  }
}
@media(max-width:740px) {
  .wrap {
    padding-inline:24px;
  }
  .masthead {
    min-height:76px;
    gap:16px;
  }
  .wordmark {
    font-size:23px;
  }
  .edition {
    display:none;
  }
  .masthead nav {
    gap:18px;
    font-size:11px;
  }
  .hero {
    grid-template-columns:1fr;
    gap:27px;
    padding-block:46px;
  }
  .hero h1 {
    font-size:clamp(48px,9.7vw,69px);
  }
  .hero-aside {
    max-width:470px;
  }
  .hero-aside .thesis {
    font-size:19px;
  }
  .hero-aside p {
    font-size:14px;
  }
  .hero-aside p+p {
    margin-top:12px;
  }
  .text-link {
    margin-top:20px;
  }
  .section {
    padding-block:45px;
  }
  .law-section {
    grid-template-columns:1fr;
    gap:30px;
  }
  .section-intro h2 {
    font-size:34px;
  }
  .section-intro p {
    margin-top:18px;
  }
  .formula {
    margin-top:25px;
    padding-block:13px;
    font-size:31px;
  }
  .section-intro p.small {
    margin-top:13px;
  }
  .law-section .meaning {
    margin-top:0;
  }
  .chart {
    height:315px;
  }
  .instrument {
    padding:18px;
  }
  .experiment-bottom {
    flex-direction:row;
    align-items:center;
  }
  .readout {
    font-size:29px;
  }
  .experiment-bottom .unit {
    display:block;
  }
  .experiment-bottom button {
    padding-inline:12px;
    font-size:11px;
  }
  .control-title {
    font-size:12px;
  }
  .control-title output {
    font-size:11px;
  }
  .equation-section {
    display:block;
  }
  .equation-section>div>p {
    font-size:15px;
  }
  .equation {
    font-size:clamp(29px,6.2vw,44px);
    margin-block:35px 25px;
  }
  .equation-key {
    gap:25px;
  }
  .equation-key>div {
    flex:1;
  }
  .equation-key dd {
    font-size:11px;
  }
  .regimes {
    display:block;
    margin-top:35px;
  }
  .regimes h3 {
    margin-bottom:20px;
  }
  .equation-section .regimes p {
    margin-top:18px;
  }
  .regimes strong {
    margin-bottom:3px;
  }
  .equation-section .meaning {
    margin-top:30px;
  }
  .section-heading {
    margin-bottom:30px;
  }
  .section-heading h2 {
    font-size:34px;
  }
  .section-heading>p {
    font-size:15px;
    margin-top:20px;
  }
  .floor-layout {
    grid-template-columns:1fr;
    gap:20px;
  }
  .floor-chart {
    height:330px;
  }
  .floor-controls {
    padding:22px;
    background:var(--panel);
  }
  .big-readout {
    font-size:48px;
  }
  .comparison-controls {
    margin-bottom:32px;
    gap:0 10px;
  }
  .comparison-controls label {
    font-size:12px;
  }
  .comparison-controls output {
    font-size:11px;
  }
  .comparison {
    grid-template-columns:1fr;
    gap:35px;
  }
  .comparison article,.comparison article:first-child,.comparison article:last-child {
    padding:0 0 30px;
    border:0;
    border-bottom:1px solid var(--rule);
  }
  .dataset-heading {
    display:flex;
  }
  .dataset-heading>span {
    margin:0;
  }
  .mini-chart {
    height:230px;
    margin-top:8px;
  }
  .dataset-readout output {
    font-size:27px;
  }
  .comparison article>p {
    font-size:13px;
    margin-top:9px;
  }
  .comparison article>p.model-note {
    font-size:11px;
  }
  .allocation-layout {
    grid-template-columns:1fr;
    gap:28px;
  }
  .allocation-stats output {
    font-size:30px;
  }
  .allocation-result output {
    font-size:17px;
  }
  .allocation-result {
    gap:8px;
  }
  .cost-section {
    grid-template-columns:1fr;
    gap:35px;
  }
  .cost-figure {
    font-size:90px;
  }
  .cost-figure span {
    font-size:14px;
    margin-top:14px;
  }
  .cost-section .meaning {
    margin-top:0;
  }
  .closing>h2 {
    font-size:42px;
  }
  .interpretations {
    grid-template-columns:1fr;
    gap:28px;
    margin-top:30px;
  }
  .interpretations p {
    font-size:15px;
  }
  .closing-question {
    margin-top:38px;
    font-size:27px;
  }
  .references {
    grid-template-columns:1fr;
    gap:27px;
    padding-top:38px;
  }
  .paper-list a {
    font-size:13px;
  }
  .colophon {
    font-size:11px;
    flex-direction:column;
    gap:12px;
  }
  .meaning {
    font-size:13px;
    margin-top:28px;
  }
  .chart text,.mini-chart text {
    font-size:11px;
  }
  .chart .annotation,.mini-chart .annotation {
    font-size:11px;
  }
}
@media(max-width:370px) {
  .wrap {
    padding-inline:18px;
  }
  .masthead nav {
    gap:12px;
  }
  .masthead nav a:first-child {
    display:none;
  }
  .hero h1 {
    font-size:46px;
  }
  .control-title {
    flex-wrap:wrap;
    gap:4px;
  }
  .experiment-bottom {
    flex-wrap:wrap;
  }
  .allocation-result {
    grid-template-columns:1fr 1fr;
  }
  .equation {
    font-size:28px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
  }
}
@media print {
  body {
    background:white;
    color:#171a18;
  }
  .wrap {
    max-width:none;
    padding-inline:0;
  }
  .section {
    break-inside:avoid;
  }
  .masthead nav,button,input {
    display:none;
  }
  :root {
    --text:#171a18;
    --muted:#40483e;
    --accent:#425b16;
    --panel:#f2f4ee;
    --bg:#fff;
    --rule:#aaa;
    --grid:#ddd;
    --subtle:#40483e;
  }
  .hero h1 {
    font-size:52px;
  }
  .chart {
    height:280px;
  }
  .skip-link {
    display:none;
  }
}
