/* Apart-inspired tokens verified on apartresearch.com; this is independent work. */
:root {
  color-scheme:light;
  --bg:#f8f5f1;
  --panel:#fcfaf7;
  --soft:#eeeae3;
  --ink:#193025;
  --muted:#65635b;
  --line:#d8d5cc;
  --accent:#194b37;
  --causal:#194b37;
  --harm:#85543b;
  --attr:#5e626c;
  --unc:#715e2a;
  --ok:#194b37;
  --hi:#f0ece2;
  --hi-line:#a59a80;
  --causal-bg:#e9eee7;
  --harm-bg:#f0e8e0;
  --attr-bg:#ecebe8;
  --unc-bg:#f1ebde;
  --ok-bg:#e9eee7;
  --serif:'Old Standard TT',Georgia,serif;
  --sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:ui-monospace,SFMono-Regular,Consolas,monospace;
  --ease:cubic-bezier(.22,.61,.36,1)
}
:root[data-theme=dark] {
  color-scheme:dark;
  --bg:#202622;
  --panel:#242c26;
  --soft:#2d352e;
  --ink:#edece1;
  --muted:#b7bbb0;
  --line:#465047;
  --accent:#bed1b6;
  --causal:#bed1b6;
  --harm:#d1ad94;
  --attr:#bec2c9;
  --unc:#d0bf8a;
  --ok:#bed1b6;
  --hi:#30372d;
  --hi-line:#817e65;
  --causal-bg:#2b382e;
  --harm-bg:#3b302b;
  --attr-bg:#30343a;
  --unc-bg:#39372b;
  --ok-bg:#2b382e
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:2rem
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:19px/1.65 var(--serif);
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:5px
}
a:hover {
  color:var(--accent)
}
button,input,select {
  font:inherit;
  color:inherit
}
button,a,summary,select {
  touch-action:manipulation
}
button {
  cursor:pointer
}
button:disabled {
  cursor:default;
  opacity:.45
}
button,a,summary,select {
  transition:color 180ms var(--ease),background-color 180ms var(--ease),border-color 180ms var(--ease)
}
button:active {
  transform:translateY(1px)
}
:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:5px
}
::selection {
  background:var(--line)
}
[hidden] {
  display:none!important
}
p {
  margin:0 0 1.15rem;
  max-width:72ch
}
p:last-child {
  margin-bottom:0
}
h1,h2,h3,h4 {
  font-family:var(--serif);
  font-weight:400;
  line-height:1.16;
  text-wrap:balance
}
h1 {
  font-size:clamp(3.2rem,6.4vw,6.2rem);
  letter-spacing:-.055em;
  margin:0
}
h2 {
  font-size:clamp(2rem,3.4vw,3.05rem);
  letter-spacing:-.035em;
  margin:0 0 1.25rem
}
h3 {
  font-size:1.6rem;
  letter-spacing:-.02em;
  margin:1.8rem 0 .8rem
}
h4 {
  font:500 14px/1.5 var(--sans);
  margin:1.4rem 0 .7rem;
  color:var(--muted)
}
ul,ol {
  padding-left:1.3em
}
li {
  margin:.45rem 0
}
code,pre {
  font:12px/1.6 var(--mono);
  overflow-wrap:anywhere
}
blockquote {
  margin:0;
  font-size:1.25rem;
  line-height:1.5
}
.muted {
  color:var(--muted);
  font:14px/1.65 var(--sans)
}
.num {
  font-variant-numeric:tabular-nums
}
.eyebrow {
  font:500 12px/1.5 var(--sans);
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--muted)
}
.skip {
  position:absolute;
  top:-100px;
  left:1rem;
  z-index:10;
  background:var(--ink);
  color:var(--bg);
  padding:.6rem 1rem;
  font:15px var(--sans)
}
.skip:focus {
  top:1rem
}
.top {
  max-width:1440px;
  padding:25px 4.45%;
  margin:auto;
  display:flex;
  align-items:center;
  gap:28px;
  border-bottom:1px solid var(--line);
  font-family:var(--sans)
}
.brand {
  display:flex;
  align-items:center;
  gap:15px;
  text-decoration:none;
  white-space:nowrap
}
.mark {
  font:700 29px/1 var(--serif);
  letter-spacing:-.06em
}
.mark-dot {
  color:var(--accent)
}
.brand-label {
  font-size:12px;
  border-left:1px solid var(--line);
  padding-left:15px
}
.views {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:25px;
  flex:1
}
.views a {
  font:13px/1.5 var(--sans);
  padding:9px 0;
  text-decoration:none;
  white-space:nowrap;
  border-bottom:1px solid transparent
}
.views a[aria-current] {
  border-color:var(--accent)
}
#theme-toggle {
  display:flex;
  align-items:center;
  gap:8px;
  border:0;
  border-left:1px solid var(--line);
  padding:9px 0 9px 20px;
  background:none;
  font:12px/1.5 var(--sans);
  min-height:44px;
  white-space:nowrap
}
#theme-toggle span {
  font-size:19px
}
.shell {
  max-width:1248px;
  margin:auto;
  padding:0 48px
}
main {
  min-width:0;
  min-height:65vh;
  padding:66px 0 100px
}
main:focus {
  outline:none
}
.side {
  padding:28px 0 0;
  display:flex;
  gap:16px;
  align-items:center;
  font:13px var(--sans)
}
.side select {
  flex:1;
  max-width:630px
}
.side+.case-page {
  padding-top:34px
}
.foot {
  border-top:1px solid var(--line);
  max-width:1350px;
  margin:0 auto;
  padding:38px 4.4% 44px;
  display:flex;
  justify-content:space-between;
  gap:35px;
  font:12px/1.8 var(--sans);
  color:var(--muted)
}
.foot>div:first-child {
  display:flex;
  gap:23px
}
.footer-mark {
  font:700 27px var(--serif);
  color:var(--ink);
  text-decoration:none
}
.footer-links {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:5px
}
.noscript {
  margin:3rem auto;
  max-width:70ch;
  padding:1rem
}
.hero {
  padding:14px 0 75px;
  display:grid;
  grid-template-columns:1fr 190px;
  column-gap:55px
}
.hero .eyebrow {
  grid-column:1/-1;
  margin-bottom:32px
}
.hero h1 {
  max-width:900px
}
.hero h1 em {
  font-style:italic
}
.hero .subtitle {
  font-size:clamp(1.3rem,2.4vw,1.8rem);
  color:var(--muted);
  margin:24px 0
}
.hero .dek {
  font-size:21px;
  line-height:1.55;
  max-width:610px
}
.hero-aside {
  align-self:end;
  border-top:1px solid var(--line);
  padding-top:16px;
  font:12px/1.8 var(--sans);
  color:var(--muted)
}
.hero-aside p {
  margin-bottom:15px
}
.hero-aside b {
  display:block;
  color:var(--ink);
  font-weight:500
}
.text-actions {
  display:flex;
  gap:30px;
  flex-wrap:wrap;
  margin-top:30px;
  font:14px/1.5 var(--sans)
}
.text-actions a {
  display:inline-flex;
  gap:16px;
  align-items:center;
  min-height:44px;
  text-decoration:none;
  border-bottom:1px solid var(--ink)
}
.text-actions a:hover {
  border-color:var(--accent)
}
.essay-section {
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:48px;
  padding:60px 0 66px;
  border-top:1px solid var(--line)
}
.section-aside {
  font:12px/1.7 var(--sans);
  color:var(--muted)
}
.section-aside .index {
  display:block;
  font:italic 24px var(--serif);
  margin-bottom:12px;
  color:var(--ink)
}
.section-body {
  min-width:0
}
.section-body>.lead {
  font-size:21px;
  max-width:62ch
}
.section-body>h2 {
  max-width:700px
}
.figure-meta {
  font:12px/1.6 var(--sans);
  color:var(--muted);
  margin:18px 0 0;
  display:flex;
  gap:20px;
  justify-content:space-between
}
.figure-meta a {
  white-space:nowrap
}
.shared-evidence {
  margin:30px 0 0;
  padding:22px 0;
  border-top:1px solid var(--line)
}
.shared-evidence blockquote {
  max-width:660px;
  margin:10px 0 20px
}
.shared-stats {
  display:flex;
  flex-wrap:wrap;
  gap:18px 38px;
  font:13px/1.5 var(--sans)
}
.shared-stats span {
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:6px
}
.shared-stats strong {
  font-weight:500;
  color:var(--ink)
}
.probe-controls {
  display:flex;
  align-items:center;
  gap:22px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:12px 0;
  margin:0 0 25px;
  font:13px/1.5 var(--sans)
}
.probe-controls>span {
  margin-right:auto;
  color:var(--muted);
  font-size:12px
}
.probe-controls button {
  background:none;
  border:0;
  border-bottom:1px solid transparent;
  padding:10px 0;
  min-height:44px
}
.probe-controls button[aria-pressed=true] {
  border-color:var(--ink)
}
.policy-worlds {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px
}
.policy-world {
  min-width:0
}
.policy-world+.policy-world {
  border-left:1px solid var(--line);
  padding-left:30px
}
.policy-world .world-no {
  font:12px var(--sans);
  color:var(--muted)
}
.policy-world h3 {
  font-size:24px;
  min-height:58px;
  margin:12px 0 10px
}
.allocation {
  display:block;
  width:100%;
  height:auto;
  margin:8px 0 14px
}
.allocation text {
  font:13px var(--sans);
  fill:var(--muted)
}
.allocation .selected {
  fill:var(--ink);
  font-weight:600
}
.allocation .wire {
  stroke:var(--line);
  fill:none;
  stroke-width:1.5
}
.allocation .active-wire {
  stroke:var(--accent);
  stroke-width:2;
  fill:none
}
.allocation .allocation-token {
  fill:var(--accent);
  transition:transform 450ms var(--ease)
}
.world-result {
  font:13px/1.8 var(--sans);
  margin:0
}
.world-result .reward {
  font:32px var(--serif);
  color:var(--ink);
  margin-right:6px
}
.probe-caption {
  margin-top:26px;
  padding-top:20px;
  border-top:1px solid var(--line);
  font-size:19px;
  min-height:100px
}
.probe-description {
  font:13px/1.7 var(--sans);
  color:var(--muted);
  margin-top:12px
}
.evidence-flow {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin:32px 0 24px;
  list-style:none;
  padding:0
}
.evidence-flow li {
  margin:0;
  border-top:1px solid var(--accent);
  padding:18px 20px 5px 0;
  position:relative
}
.evidence-flow li:last-child {
  border-top-style:dashed
}
.evidence-flow li::before {
  content:'';
  position:absolute;
  top:-4px;
  left:0;
  width:7px;
  height:7px;
  background:var(--accent);
  border-radius:50%
}
.evidence-flow b {
  font:15px/1.45 var(--sans);
  font-weight:500;
  display:block;
  margin-bottom:10px
}
.evidence-flow span {
  font:13px/1.7 var(--sans);
  color:var(--muted);
  display:block
}
.pullquote {
  font-size:26px;
  line-height:1.4;
  max-width:650px;
  margin:24px 0 0
}
.finding-list {
  margin:32px 0
}
.finding {
  display:grid;
  grid-template-columns:30px 1fr;
  gap:15px;
  padding:22px 0;
  border-top:1px solid var(--line)
}
.finding>span {
  font:italic 21px var(--serif);
  color:var(--muted)
}
.finding h3 {
  font-size:24px;
  margin:0 0 8px
}
.finding p {
  font-size:18px
}
.study-figure {
  margin:32px 0
}
.study-figure h3 {
  font-size:23px;
  margin:0 0 7px
}
.study-figure .plot {
  min-width:600px
}
.chart-scroll {
  overflow-x:auto
}
.chart-scroll .plot {
  min-width:580px
}
.chart-hint {
  font:12px/1.5 var(--sans);
  color:var(--muted);
  margin-bottom:12px
}
.plot {
  width:100%;
  height:auto;
  display:block
}
.plot text {
  font-family:var(--sans);
  fill:var(--ink)
}
.plot .ax {
  stroke:var(--muted)
}
.plot .gl {
  stroke:var(--line)
}
.plot .pair-dot {
  transition:stroke-width 180ms
}
.plot .pair-dot:hover,.plot .pair-dot:focus {
  stroke-width:5
}
.plot .pair-guide {
  stroke:var(--line);
  stroke-width:.7
}
.study-summary {
  font:14px/1.8 var(--sans);
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  padding:16px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.study-summary b {
  font-weight:600
}
.study-summary span {
  white-space:nowrap
}
.inspector-intro {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:36px
}
.inspector-intro p {
  max-width:580px
}
.research-agenda {
  list-style:none;
  margin:28px 0 0;
  padding:0;
  counter-reset:agenda
}
.research-agenda li {
  counter-increment:agenda;
  display:grid;
  grid-template-columns:40px 1fr;
  padding:22px 0;
  border-top:1px solid var(--line);
  margin:0
}
.research-agenda li::before {
  content:'0' counter(agenda);
  font:italic 22px var(--serif);
  color:var(--muted)
}
.research-agenda strong {
  display:block;
  font:500 15px/1.6 var(--sans);
  margin-bottom:8px
}
.research-agenda p {
  font-size:18px
}
.head {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:center;
  margin-bottom:20px
}
.head h1,.head h2 {
  font-size:clamp(2.2rem,4.8vw,3.8rem);
  flex-basis:100%;
  margin:0 0 10px;
  max-width:960px
}
.page-intro {
  margin-bottom:35px;
  max-width:70ch
}
.card {
  padding:22px 0;
  margin:12px 0;
  border-top:1px solid var(--line);
  min-width:0
}
.grid2,.armgrid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px
}
.grid2>.card+.card {
  padding-left:25px;
  border-left:1px solid var(--line)
}
.concepts {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px 35px
}
.concepts p {
  font-size:18px
}
.note {
  border-left:2px solid var(--line);
  padding:6px 0 6px 18px;
  margin:22px 0;
  font:14px/1.8 var(--sans);
  max-width:78ch
}
.note.warn {
  border-color:var(--hi-line)
}
.badge,.status {
  font:12px/1.6 var(--sans);
  color:var(--muted)
}
.badge {
  padding-right:15px;
  border-right:1px solid var(--line)
}
.status {
  color:var(--ink)
}
.status::before {
  content:'Recorded: ';
  color:var(--muted)
}
.concept {
  font:12px/1.5 var(--sans);
  color:var(--muted);
  white-space:nowrap
}
.concept::before {
  content:'· ';
  margin-left:6px
}
.legend {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  font:12px/1.7 var(--sans);
  color:var(--muted);
  margin:12px 0
}
.ladder {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  margin:20px 0
}
.rung {
  padding:18px 20px 18px 0;
  font:14px/1.5 var(--sans);
  min-width:0
}
.rung b {
  display:block;
  font:italic 23px var(--serif);
  margin-bottom:10px
}
.rung .st {
  display:block;
  font-size:12px;
  margin:9px 0;
  color:var(--muted)
}
.rung .muted {
  display:block;
  font-size:12px
}
.rung.top {
  border-top:2px solid var(--accent);
  margin-top:-1px
}
.rung.na {
  color:var(--muted)
}
.sect-nav {
  display:flex;
  gap:8px 24px;
  flex-wrap:wrap;
  font:13px/1.5 var(--sans);
  padding:15px 0;
  border-block:1px solid var(--line);
  margin:28px 0 40px
}
.sect-nav a {
  padding:8px 0
}
main.case-page>section {
  margin:48px 0 0;
  padding-top:12px
}
main.case-page>section>h2 {
  font-size:30px
}
main.case-page>section>h2 .concept {
  display:none
}
.expcard {
  padding:20px 0 22px;
  border-block:1px solid var(--line);
  margin:15px 0 24px
}
.expcard .route {
  font:14px var(--sans);
  margin-bottom:10px
}
.expcard blockquote {
  margin-top:15px;
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
.log {
  max-height:450px;
  overflow:auto;
  padding:0 14px 0 0
}
.log.short {
  max-height:220px
}
.rec {
  padding:17px 0;
  border-bottom:1px solid var(--line)
}
.rec .who {
  font:500 13px var(--sans);
  margin-bottom:7px
}
.rec .who span {
  font-weight:400;
  color:var(--muted)
}
.rec .body {
  font-size:17px;
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
.rec .tool {
  font:12px/1.7 var(--mono);
  color:var(--muted);
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
.rec.exp {
  border-left:2px solid var(--accent);
  padding-left:18px
}
.xtag,.cpline {
  font:12px/1.5 var(--sans);
  color:var(--accent);
  padding:8px 0
}
.cpline {
  border-top:1px solid var(--accent);
  margin-top:15px
}
.tw {
  overflow-x:auto;
  max-width:100%
}
table {
  border-collapse:collapse;
  width:100%;
  font:13px/1.65 var(--sans);
  font-variant-numeric:tabular-nums
}
th,td {
  text-align:left;
  vertical-align:top;
  padding:12px 14px 12px 0;
  border-bottom:1px solid var(--line)
}
th {
  font-weight:500;
  color:var(--muted)
}
td.r,th.r {
  text-align:right
}
caption {
  text-align:left;
  color:var(--muted);
  font:12px/1.7 var(--sans);
  padding:12px 0;
  caption-side:bottom
}
.chip {
  font:12px/1.8 var(--mono);
  color:var(--muted)
}
.chips {
  display:flex;
  gap:6px 18px;
  flex-wrap:wrap;
  margin:10px 0
}
.role-outsider,.role-coalition {
  color:var(--ink)
}
details.d {
  margin:18px 0;
  border-block:1px solid var(--line)
}
details.d+details.d {
  border-top:0;
  margin-top:-18px
}
summary {
  cursor:pointer;
  min-height:48px;
  padding:15px 0;
  font:500 14px/1.6 var(--sans)
}
details.d>div {
  padding:5px 0 24px
}
details.d[open]>summary {
  margin-bottom:10px
}
.hash {
  font:11px/1.8 var(--mono);
  overflow-wrap:anywhere;
  color:var(--muted)
}
.trace {
  list-style:none;
  margin:0;
  padding:0
}
.trace li {
  display:grid;
  grid-template-columns:24px 1fr;
  gap:12px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
  font-size:17px
}
.trace .ic {
  font:14px var(--sans);
  padding-top:5px;
  color:var(--muted)
}
.verdict {
  border-block:1px solid var(--line);
  padding:22px 0;
  margin:20px 0
}
.verdict .big {
  font:26px/1.4 var(--serif);
  margin-bottom:10px
}
.verdict .status {
  font:inherit
}
.vgrid {
  display:flex;
  gap:30px;
  flex-wrap:wrap;
  margin:15px 0
}
.vcell .n {
  font:22px var(--serif)
}
.vcell .m {
  font:12px/1.5 var(--sans);
  color:var(--muted)
}
.pf {
  font:12px/1.8 var(--mono);
  margin-right:12px;
  color:var(--muted)
}
.pf.f {
  color:var(--harm)
}
.btn,.tabbtn {
  display:inline-block;
  min-height:44px;
  padding:10px 16px;
  background:none;
  border:1px solid var(--line);
  border-radius:2px;
  font:13px/1.6 var(--sans);
  text-decoration:none
}
.btn:hover,.tabbtn:hover {
  background:var(--soft)
}
.btn.sec {
  border-color:transparent
}
.steps {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:20px 0
}
.tabbtn[aria-pressed=true] {
  color:var(--bg);
  background:var(--ink);
  border-color:var(--ink)
}
.stepper {
  display:flex;
  flex-direction:column;
  gap:15px;
  font:14px var(--sans)
}
input[type=range] {
  width:100%;
  min-height:44px;
  accent-color:var(--accent)
}
.navrow {
  display:flex;
  gap:15px;
  margin-top:22px
}
select {
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:2px;
  min-height:44px;
  max-width:100%;
  padding:9px 30px 9px 12px;
  font:13px/1.6 var(--sans)
}
.matrix th.cur,.matrix td.cur {
  background:var(--soft)
}
.twinline {
  border-top:1px solid var(--line);
  padding-top:20px;
  margin-top:25px
}
.truth {
  font-size:13px
}
.twin {
  min-width:0
}
.scroll-hint {
  font:12px/1.6 var(--sans)
}
.sources-list a {
  overflow-wrap:anywhere
}
.study-page>h3 {
  margin-top:48px
}
.reveal-in {
  animation:rise-in 500ms var(--ease) both
}
@keyframes rise-in {
  from {
    opacity:.65;
    transform:translateY(8px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
@media(min-width:1500px) {
  .shell {
    max-width:1340px
  }
  .hero {
    grid-template-columns:1fr 200px;
    gap:80px
  }
}
@media(max-width:1100px) {
  .brand-label {
    display:none
  }
  .views {
    gap:17px
  }
  .top {
    gap:20px
  }
  .shell {
    padding:0 40px
  }
  .hero {
    grid-template-columns:1fr 160px;
    gap:30px
  }
  .essay-section {
    grid-template-columns:110px minmax(0,1fr);
    gap:30px
  }
  .policy-worlds {
    gap:22px
  }
  .policy-world+.policy-world {
    padding-left:22px
  }
  .policy-world h3 {
    font-size:22px
  }
  .evidence-flow {
    grid-template-columns:1fr 1fr;
    gap:25px 0
  }
}
@media(max-width:800px) {
  .top {
    flex-wrap:wrap;
    padding:20px 30px 0;
    gap:5px 20px
  }
  .brand {
    flex:1
  }
  .brand-label {
    display:block
  }
  .views {
    order:3;
    flex-basis:100%;
    justify-content:flex-start;
    gap:25px;
    overflow-x:auto;
    padding:9px 0 0
  }
  .views a {
    min-height:44px
  }
  .shell {
    padding:0 30px
  }
  main {
    padding:45px 0 70px
  }
  .hero {
    grid-template-columns:1fr;
    padding:8px 0 50px
  }
  .hero-aside {
    display:none
  }
  .hero h1 {
    font-size:clamp(3.5rem,8.7vw,5rem);
    max-width:680px
  }
  .essay-section {
    grid-template-columns:1fr;
    gap:22px;
    padding:40px 0 45px
  }
  .section-aside {
    display:flex;
    gap:16px;
    align-items:center
  }
  .section-aside .index {
    display:inline;
    margin:0
  }
  .figure-meta {
    flex-wrap:wrap;
    gap:8px
  }
  .foot {
    padding:30px;
    flex-direction:column;
    gap:25px
  }
  .footer-links {
    align-items:flex-start;
    flex-direction:row;
    flex-wrap:wrap;
    gap:10px 25px
  }
  .footer-links span {
    flex-basis:100%
  }
  .side {
    flex-wrap:wrap;
    gap:12px
  }
  .side label {
    flex-basis:100%
  }
  .side select {
    width:100%;
    max-width:100%;
    flex-basis:100%
  }
  .inspector-intro {
    display:block
  }
  .grid2 {
    gap:20px
  }
  .grid2>.card+.card {
    padding-left:18px
  }
}
@media(max-width:520px) {
  body {
    font-size:18px
  }
  .top {
    padding:14px 20px 0
  }
  .brand-label {
    font-size:11px
  }
  .brand {
    gap:12px
  }
  .mark {
    font-size:26px
  }
  .views {
    gap:22px
  }
  .views a {
    font-size:12px
  }
  #theme-toggle {
    font-size:11px;
    padding-left:14px
  }
  .shell {
    padding:0 20px
  }
  main {
    padding-top:35px
  }
  .hero .eyebrow {
    margin-bottom:24px;
    font-size:10px;
    letter-spacing:.07em
  }
  .hero h1 {
    font-size:clamp(2.95rem,12vw,4rem);
    letter-spacing:-.055em
  }
  .hero .subtitle {
    font-size:22px;
    margin-top:20px
  }
  .hero .dek {
    font-size:19px
  }
  .text-actions {
    gap:12px 26px;
    margin-top:23px
  }
  .text-actions a {
    font-size:13px
  }
  .essay-section {
    padding:34px 0 40px
  }
  .section-body>.lead {
    font-size:19px
  }
  .section-aside {
    font-size:11px
  }
  h2 {
    font-size:32px
  }
  .shared-evidence blockquote {
    font-size:20px
  }
  .shared-stats {
    gap:20px;
    font-size:12px
  }
  .probe-controls {
    flex-wrap:wrap;
    gap:10px 22px
  }
  .probe-controls>span {
    flex-basis:100%
  }
  .policy-worlds {
    gap:20px;
    grid-template-columns:1fr
  }
  .policy-world+.policy-world {
    border-left:0;
    padding:20px 0 0;
    border-top:1px solid var(--line)
  }
  .policy-world h3 {
    min-height:0;
    font-size:25px;
    margin-bottom:15px
  }
  .allocation {
    max-width:380px;
    margin:0 0 10px
  }
  .world-result .reward {
    font-size:29px
  }
  .probe-caption {
    min-height:150px
  }
  .evidence-flow b {
    font-size:14px
  }
  .evidence-flow li {
    padding-right:20px
  }
  .evidence-flow span {
    font-size:12px
  }
  .pullquote {
    font-size:23px
  }
  .finding {
    grid-template-columns:22px 1fr;
    gap:10px
  }
  .finding h3 {
    font-size:23px
  }
  .head h1,.head h2 {
    font-size:35px
  }
  .grid2,.armgrid,.concepts {
    grid-template-columns:1fr
  }
  .grid2>.card+.card {
    padding-left:0;
    border-left:0
  }
  .ladder {
    grid-template-columns:1fr 1fr
  }
  .ladder .rung:nth-child(n+3) {
    border-top:1px solid var(--line)
  }
  .ladder .rung.top:nth-child(n+3) {
    border-top:2px solid var(--accent)
  }
  .figure-meta {
    font-size:11px
  }
  .foot {
    padding:28px 20px
  }
  .foot>div:first-child {
    gap:17px
  }
  .foot p {
    font-size:11px
  }
  .head {
    gap:8px 15px
  }
  .sect-nav {
    gap:6px 20px
  }
  .study-summary {
    gap:8px 20px
  }
  .study-summary span {
    white-space:normal
  }
  .chart-hint {
    font-size:11px
  }
  .note {
    font-size:13px;
    padding-left:14px
  }
  summary {
    font-size:13px
  }
  .hash {
    font-size:10px
  }
  .text-actions a {
    min-height:44px
  }
  .trace li {
    font-size:16px
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}
@media print {
  .top,.side,.foot,.probe-controls,.text-actions {
    display:none
  }
  body {
    background:white;
    color:#193025
  }
  .shell {
    padding:0
  }
  main {
    padding:0
  }
  .essay-section {
    break-inside:avoid
  }
  .chart-scroll,.tw {
    overflow:visible
  }
  details.d>div {
    display:block
  }
}
/* Preserve chart label size rather than shrinking figures into a phone column. */
.chart-scroll .plot {
  min-width:720px
}
.study-figure .plot {
  min-width:820px
}
.study-figure {
  margin-left:0;
  margin-right:0
}
table a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin-right:8px
}
.allocation-token {
  transform-box:view-box
}
/* Individual-pair plot lays out at the reading width, including on phones. */
.study-figure .matched-plot {
  min-width:0
}
