
@font-face { font-family: "Libertinus Serif"; src: url("../fonts/LibertinusSerif-Regular.865f76713a.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Libertinus Serif"; src: url("../fonts/LibertinusSerif-Italic.377c65ec86.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Libertinus Serif"; src: url("../fonts/LibertinusSerif-Semibold.957206ecc9.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Libertinus Serif"; src: url("../fonts/LibertinusSerif-SemiboldItalic.3c35b181a7.woff2") format("woff2"); font-weight: 600; font-style: italic; font-display: swap; }
@font-face { font-family: "Libertinus Serif Display"; src: url("../fonts/LibertinusSerifDisplay-Regular.fee2e9c562.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Libertinus Math"; src: url("../fonts/LibertinusMath-Regular.d786d81367.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }  
:root {
  color-scheme: light;
  --paper: #ffffff;
  --ink: #111111;     
  --ink-2: #454545;   
  --ink-3: #6b6b6b;   
  --rule: #d4d4d4;    
  --rule-2: #111111;  
  --wash: #f4f4f4;    
  --accent: #1f4e8c;  
  --accent-2: #13355f; 
  --serif: "Libertinus Serif", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --display: "Libertinus Serif Display", "Libertinus Serif", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --math: "Libertinus Math", "STIX Two Math", "Cambria Math", math;
  --mono: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, "Liberation Mono", monospace;
  
  --s--2: 0.72rem;
  --s--1: 0.86rem;
  --s-0: 1rem;
  --s-1: 1.2rem;
  --s-2: 1.5rem;
  --s-3: clamp(1.9rem, 1.45rem + 1.6vw, 2.6rem);
  --s-4: clamp(2.15rem, 1.5rem + 2.6vw, 3.4rem);
  
  --line: 1.5rem;
  --gap: clamp(1rem, 0.6rem + 1.6vw, 2.25rem);
  --gutter: clamp(1rem, 0.4rem + 2.8vw, 3rem);
  --measure: 34em;
}
*, *::before, *::after { box-sizing: border-box; }
html {
  font-size: 106.25%;               
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
@media (min-width: 48rem) { html { font-size: 112.5%; } }   
@media (min-width: 72rem) { html { font-size: 118.75%; } }  
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--serif);
  font-size: var(--s-0);
  line-height: 1.5;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures;
  font-variant-numeric: oldstyle-nums proportional-nums;
  text-rendering: optimizeLegibility;
  hanging-punctuation: first;
}
p, ul, ol, dl, figure, blockquote, table { margin: 0 0 var(--line); }
p, li { max-width: var(--measure); }
p { hyphens: manual; }
@media (max-width: 30rem) { p, li, dd { hyphens: auto; } }
h1, h2, h3, h4 { font-weight: 400; margin: 0; }
h1 { font-family: var(--display); font-size: var(--s-4); line-height: 1.08; letter-spacing: -0.005em; max-width: 17em; text-wrap: balance; }
h2 { font-size: var(--s-2); line-height: 1.2; }
h3 { font-size: var(--s-1); line-height: 1.3; }
em, i, cite { font-style: italic; }
cite { font-style: italic; }
strong, b { font-weight: 600; }
small { font-size: var(--s--1); }
abbr { text-decoration: none; }
sup, sub { line-height: 0; }
a { color: var(--accent); text-decoration-line: underline; text-decoration-thickness: 0.06em; text-underline-offset: 0.2em; text-decoration-color: color-mix(in srgb, var(--accent) 45%, transparent); }
a:hover { color: var(--accent-2); text-decoration-color: var(--accent-2); text-decoration-thickness: 0.1em; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; text-decoration: none; }
hr { border: 0; border-top: 1px solid var(--rule); margin: calc(var(--line) * 1.5) 0; }
.num, time, .doi { font-variant-numeric: lining-nums tabular-nums; }
.doi { white-space: nowrap; }
.sc { font-variant-caps: all-small-caps; letter-spacing: 0.06em; }
.muted { color: var(--ink-2); }
.quiet { color: var(--ink-3); }
.nowrap { white-space: nowrap; }
math { font-family: var(--math); font-size: 1.04em; }
math[display="block"] { margin: calc(var(--line) * 0.75) 0; overflow-x: auto; overflow-y: hidden; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.skip { position: absolute; left: var(--gutter); top: -10rem; background: var(--paper); color: var(--ink); padding: 0.5rem 0.75rem; border: 1px solid var(--ink); z-index: 2; }
.skip:focus { top: 0.75rem; }
.wrap { max-width: 74rem; margin-inline: auto; padding-inline: var(--gutter); }
.masthead { padding-top: calc(var(--line) * 1.1); }
.masthead .bar { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.6rem 2rem; padding-bottom: 0.9rem; border-bottom: 1px solid var(--rule-2); }
.wordmark { font-family: var(--display); font-size: 1.45rem; line-height: 1; text-decoration: none; letter-spacing: 0.005em; }
.wordmark:hover { text-decoration: none; }
.nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.15rem 1.3rem; }
.nav li { max-width: none; }
.nav a { text-decoration: none; font-size: var(--s--1); letter-spacing: 0.01em; color: var(--ink-2); padding-block: 0.2rem; }
.nav a:hover { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; }
.nav a[aria-current="page"] { color: var(--ink); text-decoration: underline; text-decoration-color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: 0.35em; }
main { display: block; padding-bottom: calc(var(--line) * 3); }
.pagehead { padding-block: calc(var(--line) * 2.2) calc(var(--line) * 1.6); }
.pagehead .kicker { display: block; color: var(--ink-3); font-size: var(--s--1); margin-bottom: 0.9rem; }
.pagehead .lede { font-size: var(--s-1); line-height: 1.45; color: var(--ink-2); margin-top: calc(var(--line) * 0.8); max-width: 30em; }
.pagehead .lede + .lede { margin-top: 0; }
.sec { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: var(--gap); border-top: 1px solid var(--rule-2); padding-top: calc(var(--line) * 0.75); margin-top: calc(var(--line) * 1.5); }
.sec > .label { font-size: var(--s-0); line-height: 1.5; color: var(--ink); font-variant-caps: all-small-caps; letter-spacing: 0.07em; margin-bottom: calc(var(--line) * 0.75); }
.sec > .label .sub { display: block; font-variant-caps: normal; letter-spacing: 0; color: var(--ink-3); font-size: var(--s--1); margin-top: 0.2rem; }
.sec > .body { min-width: 0; }
@media (min-width: 60rem) {
  .sec { grid-template-columns: 11rem minmax(0, 1fr); }
  .sec > .label { margin-bottom: 0; }
}
.sec.light { border-top-color: var(--rule); }
.lead { font-size: var(--s-1); line-height: 1.45; max-width: 30em; }
.note { color: var(--ink-2); font-size: var(--s--1); max-width: 40em; }
.statement { padding-block: calc(var(--line) * 2.6) calc(var(--line) * 1.4); }
.statement h1 { max-width: 15em; }
.statement .lede { font-size: var(--s-1); line-height: 1.5; max-width: 31em; margin-top: calc(var(--line) * 1.1); color: var(--ink); }
.statement .lede.second { color: var(--ink-2); margin-top: 0; }
.statement .go { margin: calc(var(--line) * 0.6) 0 0; font-size: var(--s-0); }
.statement .go a { margin-right: 1.6rem; }
.qa { list-style: none; margin: 0; padding: 0; counter-reset: qa; }
.qa > li { max-width: none; border-top: 1px solid var(--rule); padding-block: calc(var(--line) * 0.9) calc(var(--line) * 0.6); counter-increment: qa; }
.qa > li:first-child { border-top: 0; padding-top: 0; }
.qa .q { font-family: var(--serif); font-style: italic; font-size: var(--s-2); line-height: 1.25; max-width: 24em; margin-bottom: calc(var(--line) * 0.5); text-wrap: pretty; }
.qa .q::before { content: counter(qa) ". "; font-style: normal; color: var(--ink-3); font-variant-numeric: lining-nums; }
.qa .a { max-width: var(--measure); margin-bottom: calc(var(--line) * 0.5); }
.qa .a .k { font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); margin-right: 0.35rem; }
.qa .paper { font-size: var(--s--1); color: var(--ink-2); max-width: 44em; margin-bottom: calc(var(--line) * 0.4); }
.record { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0 0 var(--line); max-width: 44rem; }
.record > div { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); column-gap: 1rem; border-top: 1px solid var(--rule); padding-block: 0.55rem; }
.record > div:last-child { border-bottom: 1px solid var(--rule); }
.record dt { font-family: var(--display); font-size: var(--s-2); line-height: 1.05; font-variant-numeric: lining-nums tabular-nums; text-align: right; }
.record dd { margin: 0; align-self: center; color: var(--ink-2); max-width: 32em; }
.dated { list-style: none; padding: 0; margin: 0 0 var(--line); max-width: 46rem; }
.dated li { max-width: none; display: grid; grid-template-columns: 6.2rem minmax(0, 1fr); column-gap: 1rem; padding-block: 0.45rem; border-top: 1px solid var(--rule); }
.dated li:last-child { border-bottom: 1px solid var(--rule); }
.dated time { color: var(--ink-3); font-size: var(--s--1); padding-top: 0.12rem; }
.dated .what { min-width: 0; }
.dated .what small { display: block; color: var(--ink-3); }
.lines { list-style: none; margin: 0 0 var(--line); padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 var(--gap); }
@media (min-width: 48rem) { .lines { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lines li { max-width: none; border-top: 1px solid var(--rule); padding-block: 0.7rem 0.9rem; }
.lines h3 { font-size: var(--s-1); margin-bottom: 0.3rem; }
.lines h3 a { text-decoration: none; }
.lines h3 a:hover { text-decoration: underline; }
.lines p { margin: 0; color: var(--ink-2); font-size: var(--s--1); max-width: 30em; }
.lines .count { color: var(--ink-3); font-size: var(--s--1); }
.status { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); font-size: var(--s--1); max-width: 46rem; }
.status > div { display: grid; grid-template-columns: minmax(0, 1fr); padding-block: 0.4rem; border-top: 1px solid var(--rule); }
.status > div:last-child { border-bottom: 1px solid var(--rule); }
.status dt { font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); line-height: 1.4; }
.status dd { margin: 0; color: var(--ink); line-height: 1.45; }
@media (min-width: 40rem) {
  .status > div { grid-template-columns: 8.5rem minmax(0, 1fr); column-gap: 1rem; }
}
.status.compact > div { padding-block: 0.25rem; }
mark.check {
  background: transparent; color: var(--ink);
  font-variant-caps: all-small-caps; letter-spacing: 0.08em; font-size: 0.95em;
  border: 1px dashed var(--ink-2); padding: 0 0.28em 0.04em; margin-inline: 0.15em; white-space: nowrap;
}
.draft { border: 1px dashed var(--ink-2); padding: 0.9rem 1rem 0.2rem; margin-bottom: var(--line); max-width: 40rem; }
.draft > .draft-tag { display: block; font-variant-caps: all-small-caps; letter-spacing: 0.08em; color: var(--ink-2); margin-bottom: 0.4rem; font-size: var(--s--1); }
.toc { list-style: none; padding: 0; margin: 0 0 var(--line); columns: 1; font-size: var(--s--1); }
@media (min-width: 40rem) { .toc { columns: 2; column-gap: var(--gap); } }
.toc li { break-inside: avoid; padding-block: 0.15rem; }
.toc .count { color: var(--ink-3); }
.legend { margin: 0 0 var(--line); max-width: 46rem; font-size: var(--s--1); }
.legend > div { display: grid; grid-template-columns: minmax(0, 1fr); padding-block: 0.4rem; border-top: 1px solid var(--rule); }
.legend > div:last-child { border-bottom: 1px solid var(--rule); }
.legend dt { font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); }
.legend dd { margin: 0; max-width: 40em; }
@media (min-width: 40rem) { .legend > div { grid-template-columns: 8.5rem minmax(0, 1fr); column-gap: 1rem; } }
.works { list-style: none; margin: 0; padding: 0; }
.work { max-width: none; padding-block: calc(var(--line) * 0.9) calc(var(--line) * 0.8); border-top: 1px solid var(--rule); scroll-margin-top: 1rem; }
.work:first-child { border-top: 0; padding-top: 0; }
.work h3 { font-size: var(--s-1); line-height: 1.3; max-width: 30em; margin-bottom: 0.25rem; text-wrap: pretty; }
.work .by { color: var(--ink-2); font-size: var(--s--1); margin-bottom: 0.55rem; }
.work .plain { max-width: var(--measure); margin-bottom: 0.7rem; }
.work .links { font-size: var(--s--1); margin: 0.6rem 0 0; color: var(--ink-2); display: flex; flex-wrap: wrap; gap: 0.2rem 1.25rem; max-width: 46rem; }
.work .links a { white-space: nowrap; }
.work .checked { font-size: var(--s--2); color: var(--ink-3); margin: 0.45rem 0 0; }
.work.minor h3 { font-size: var(--s-0); }
.work.minor .plain { font-size: var(--s--1); color: var(--ink-2); }
.group-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 1rem; margin-bottom: calc(var(--line) * 0.5); }
.group-head p { margin: 0; color: var(--ink-2); font-size: var(--s--1); }
.prose h2 { font-size: var(--s-2); margin: calc(var(--line) * 1.6) 0 calc(var(--line) * 0.5); }
.prose h3 { font-size: var(--s-1); margin: calc(var(--line) * 1.1) 0 calc(var(--line) * 0.35); }
.prose ul, .prose ol { padding-left: 1.2em; }
.prose li { margin-bottom: 0.35rem; }
.prose li::marker { color: var(--ink-3); }
.theorem { border-left: 1px solid var(--rule-2); padding: 0.1rem 0 0.1rem 1.1rem; margin: 0 0 var(--line); max-width: 38em; }
.theorem > .t { font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-2); display: block; margin-bottom: 0.25rem; }
.theorem p { margin-bottom: 0.6rem; }
.theorem p:last-child { margin-bottom: 0; }
.theorem ol { margin-bottom: 0.4rem; }
blockquote { margin-left: 0; padding-left: 1.1rem; border-left: 1px solid var(--rule); color: var(--ink-2); max-width: 36em; }
blockquote p { margin-bottom: 0.5rem; }
blockquote footer { font-size: var(--s--1); color: var(--ink-3); }
.table-wrap { overflow-x: auto; margin: 0 0 var(--line); }
table { border-collapse: collapse; width: 100%; font-size: var(--s--1); }
caption { text-align: left; color: var(--ink-3); font-size: var(--s--1); padding-bottom: 0.4rem; }
th, td { text-align: left; vertical-align: top; padding: 0.5rem 1rem 0.5rem 0; border-top: 1px solid var(--rule); }
thead th { font-weight: 400; font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); border-top: 0; border-bottom: 1px solid var(--rule-2); padding-top: 0; }
tbody tr:last-child td, tbody tr:last-child th { border-bottom: 1px solid var(--rule); }
td.date, th.date { white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; color: var(--ink-2); width: 7.2rem; }
tbody th { font-weight: 400; }
@media (max-width: 40rem) {
  table.stack, table.stack tbody, table.stack tr, table.stack td, table.stack th { display: block; width: auto; }
  table.stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); }
  table.stack tr { border-top: 1px solid var(--rule); padding-block: 0.6rem; }
  table.stack tbody tr:last-child { border-bottom: 1px solid var(--rule); }
  table.stack td, table.stack th { border: 0 !important; padding: 0.1rem 0; }
  table.stack td[data-k]::before { content: attr(data-k); display: block; font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); }
}
.rail { list-style: none; margin: 0 0 var(--line); padding: 0; counter-reset: rail; max-width: 44rem; }
.rail > li { position: relative; max-width: none; padding: 0 0 calc(var(--line) * 0.85) 3.1rem; counter-increment: rail; }
.rail > li::before { content: counter(rail); position: absolute; left: 0; top: 0.05rem; width: 1.9rem; height: 1.9rem; border: 1px solid var(--ink); display: grid; place-items: center; font-variant-numeric: lining-nums; font-size: var(--s--1); background: var(--paper); z-index: 1; }
.rail > li::after { content: ""; position: absolute; left: calc(0.95rem - 0.5px); top: 2rem; bottom: 0.1rem; border-left: 1px solid var(--rule); }
.rail > li:last-child::after { display: none; }
.rail h3 { font-size: var(--s-1); margin-bottom: 0.2rem; }
.rail p { margin: 0 0 0.3rem; }
.rail .catches { font-size: var(--s--1); color: var(--ink-2); }
.rail .catches .k { font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); margin-right: 0.3rem; }
.order { list-style: none; margin: 0; padding: 0; counter-reset: ord; }
.order > li { max-width: none; display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); column-gap: 0.6rem; padding-block: calc(var(--line) * 0.8); border-top: 1px solid var(--rule); counter-increment: ord; }
.order > li:first-child { border-top: 0; padding-top: 0; }
.order > li::before { content: counter(ord, decimal-leading-zero); font-family: var(--display); font-size: var(--s-2); line-height: 1; color: var(--ink-3); font-variant-numeric: lining-nums tabular-nums; padding-top: 0.15rem; }
.order h3 { font-size: var(--s-1); margin-bottom: 0.2rem; max-width: 30em; }
.order .by { font-size: var(--s--1); color: var(--ink-2); margin-bottom: 0.5rem; }
.order ul { padding-left: 1.1em; margin-bottom: 0.6rem; }
.order li li { margin-bottom: 0.25rem; }
.person { border-top: 1px solid var(--rule); padding-top: calc(var(--line) * 0.75); margin-bottom: calc(var(--line) * 1.2); max-width: 44rem; }
.person:first-of-type { border-top: 0; padding-top: 0; }
.person h3 { font-size: var(--s-2); margin-bottom: 0.2rem; }
.person .role { color: var(--ink-2); margin-bottom: 0.7rem; }
.address { font-family: var(--display); font-size: var(--s-3); line-height: 1.15; margin: 0 0 var(--line); word-break: break-word; }
.address a { text-decoration-thickness: 1px; text-underline-offset: 0.12em; }
.foot { padding-block: 0 calc(var(--line) * 2); font-size: var(--s--1); color: var(--ink-2); }
.foot .bar { border-top: 1px solid var(--rule-2); padding-top: var(--line); display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.6rem var(--gap); }
@media (min-width: 60rem) { .foot .bar { grid-template-columns: 11rem minmax(0, 1fr) auto; } }
.foot p { margin: 0; max-width: 40em; }
.foot .mark { font-family: var(--display); font-size: 1.1rem; color: var(--ink); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
.statement-main { min-width: 0; }
.record-aside { margin-top: calc(var(--line) * 1.6); max-width: 30rem; }
.aside-label { font-size: var(--s-0); font-variant-caps: all-small-caps; letter-spacing: 0.07em; margin-bottom: 0.5rem; }
.record-aside .record { margin-bottom: 0.6rem; }
.record-aside .record > div { grid-template-columns: 2.6rem minmax(0, 1fr); column-gap: 0.8rem; padding-block: 0.4rem; }
.record-aside .record dt { font-size: var(--s-1); line-height: 1.2; }
.record-aside .record dd { font-size: var(--s--1); line-height: 1.4; align-self: baseline; }
.record-aside .record dt { align-self: baseline; }
@media (min-width: 60rem) {
  .statement { display: grid; grid-template-columns: minmax(0, 1fr) 17.5rem; column-gap: calc(var(--gap) * 1.6); align-items: end; }
  .record-aside { margin-top: 0; }
}
.labels { margin: 0.5rem 0 0; font-size: var(--s--1); color: var(--ink-2); max-width: 42em; line-height: 1.45; }
.labels > div { margin: 0 0 0.15rem; }
.labels dt { display: inline; font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); margin-right: 0.45em; }
.labels dd { display: inline; margin: 0; }
.qa .more { margin: 0.7rem 0 0; font-size: var(--s--1); }
.pagehead { padding-bottom: calc(var(--line) * 0.4); }
.work .labels { margin-top: 0.3rem; }
@media (max-width: 34rem) {
  .nav ul { gap: 0.1rem 0.95rem; }
  .dated li { grid-template-columns: minmax(0, 1fr); row-gap: 0.1rem; }
  .dated time { padding-top: 0; }
  .record > div { grid-template-columns: 3.2rem minmax(0, 1fr); }
}
.order h3 a, .work h3 a { text-decoration: none; }
.order h3 a:hover, .work h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.status.large { font-size: var(--s-0); }
.status.large > div { padding-block: 0.6rem; }
@media (min-width: 40rem) { .status.large > div { grid-template-columns: 10rem minmax(0, 1fr); } }
.status.large dt { padding-top: 0.15rem; }
.address mark.check { font-size: 0.32em; vertical-align: middle; }
@media (max-width: 40rem) { table.stack caption { display: block; width: auto; } }
table, .ledger, .qindex .qn, .receipts, .sigfig text, .atlas text, .square { font-variant-numeric: lining-nums tabular-nums; }
.wordmark { display: inline-flex; align-items: baseline; gap: 0.45rem; }
.wordmark .mk { width: 0.95em; height: 0.95em; align-self: center; position: relative; top: -0.04em; flex: none; }
.mk .bound { stroke: var(--ink); stroke-width: 1; }
.mk .approach { fill: none; stroke: var(--ink); stroke-width: 1.4; stroke-linecap: round; }
.foot .mark { display: inline-flex; align-items: baseline; gap: 0.4rem; }
.sigfig { margin: 0 0 var(--line); max-width: 52rem; }
.sigfig svg { display: block; width: 100%; height: auto; }
.sigfig .v-phone { display: none; }
@media (max-width: 40rem) { .sigfig .v-desk { display: none; } .sigfig .v-phone { display: block; } }
.sigfig text { font-family: var(--serif); fill: var(--ink); }
.sigfig .t-name { font-size: 15px; }
.sigfig .t-law { font-size: 14px; fill: var(--ink-2); }
.sigfig .t-axis { font-size: 13.5px; fill: var(--ink-2); }
.sigfig .t-note { font-size: 13px; fill: var(--ink-3); font-style: italic; }
.sigfig .t-tag { font-size: 13px; fill: var(--ink-3); font-variant-caps: all-small-caps; letter-spacing: 0.07em; }
.sigfig .axis { stroke: var(--ink); stroke-width: 1; fill: none; }
.sigfig .tick { stroke: var(--ink-3); stroke-width: 1; }
.sigfig .curve { fill: none; stroke: var(--ink); stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; }
.sigfig .curve.c2 { stroke-width: 1.3; }
.sigfig .curve.c3, .sigfig .curve.c4 { stroke: var(--ink-2); stroke-width: 1.2; }
.sigfig .leader { stroke: var(--ink-3); stroke-width: 0.75; fill: none; }
.sigfig .fade { stroke: var(--ink); stroke-width: 1.6; stroke-dasharray: 2 4; fill: none; }
.sigfig a text { text-decoration: none; }
.sigfig a:hover .t-name, .sigfig a:focus .t-name { text-decoration: underline; }
.sigfig a:focus { outline: none; }
.sigfig a:focus-visible .t-name { outline: 2px solid var(--ink); }
.sigfig figcaption { font-size: var(--s--1); color: var(--ink-2); max-width: 44em; margin-top: 0.6rem; line-height: 1.45; }
.sigfig figcaption .sc { color: var(--ink); }
.sigfig .after { font-size: var(--s--1); margin: 0.5rem 0 0; display: flex; flex-wrap: wrap; gap: 0.2rem 1.4rem; }
.depths { margin: 0 0 var(--line); max-width: 44rem; }
.depths .one { font-size: var(--s-1); line-height: 1.45; margin-bottom: calc(var(--line) * 0.8); max-width: 30em; }
.depths .one .who, .depth > summary .who { font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); font-size: var(--s--1); }
.depths .one .who { display: block; margin-bottom: 0.15rem; }
.depth { border-top: 1px solid var(--rule); }
.depth:last-child { border-bottom: 1px solid var(--rule); }
.depth > summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 1rem; align-items: baseline; padding: 0.6rem 0; }
.depth > summary::-webkit-details-marker { display: none; }
.depth > summary::after { content: "+"; font-family: var(--display); font-size: 1.25rem; line-height: 1; color: var(--ink-2); }
.depth[open] > summary::after { content: "\2212"; }
.depth > summary .what { display: block; }
.depth > summary:hover .what { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
.depth > .inner { padding: 0.1rem 0 calc(var(--line) * 0.6); }
.depth > .inner > p:last-child { margin-bottom: 0.4rem; }
.receipts { font-size: var(--s--1); max-width: 46rem; margin: 0 0 var(--line); }
.receipts > div { display: grid; grid-template-columns: minmax(0, 1fr); padding-block: 0.45rem; border-top: 1px solid var(--rule); }
.receipts > div:last-child { border-bottom: 1px solid var(--rule); }
.receipts dt { font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); line-height: 1.4; }
.receipts dd { margin: 0; min-width: 0; line-height: 1.45; }
.receipts dd p { margin: 0 0 0.35rem; max-width: 40em; }
.receipts .hash { font-family: var(--mono); font-size: 0.86em; word-break: break-all; letter-spacing: 0; }
@media (min-width: 40rem) { .receipts > div { grid-template-columns: 9rem minmax(0, 1fr); column-gap: 1rem; } }
pre.cmd { font-family: var(--mono); font-size: 0.74rem; line-height: 1.5; background: var(--wash); color: var(--ink); padding: 0.6rem 0.75rem; margin: 0.3rem 0 0.45rem; overflow-x: auto; white-space: pre; tab-size: 2; max-width: 100%; }
pre.cmd code { font: inherit; }
.receipts .src { color: var(--ink-3); }
.qindex { list-style: none; margin: 0 0 var(--line); padding: 0; max-width: 50rem; }
.qindex > li { max-width: none; display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); column-gap: 0.8rem; padding-block: 0.7rem 0.75rem; border-top: 1px solid var(--rule); scroll-margin-top: 1rem; }
.qindex > li:last-child { border-bottom: 1px solid var(--rule); }
.qindex .qn { color: var(--ink-3); font-size: var(--s--1); padding-top: 0.2rem; }
.qindex .qn a { text-decoration: none; color: inherit; }
.qindex .qb { min-width: 0; }
.qindex .qt { margin: 0 0 0.25rem; font-size: var(--s-0); line-height: 1.4; max-width: 34em; }
.qindex .ans { margin: 0 0 0.25rem; color: var(--ink-2); font-size: var(--s--1); max-width: 44em; }
.qindex .src { margin: 0; color: var(--ink-3); font-size: var(--s--1); max-width: 46em; }
.qindex .src .k, .qindex .ans .k { font-variant-caps: all-small-caps; letter-spacing: 0.07em; margin-right: 0.3rem; }
.st { font-variant-caps: all-small-caps; letter-spacing: 0.07em; white-space: nowrap; font-size: var(--s--1); }
.st.ans { color: var(--accent); }
.st.part { color: var(--ink-2); }
.st.open { color: var(--ink); font-weight: 600; }
.qindex .qt .st { display: inline-block; min-width: 6.8rem; margin-right: 0.4rem; }
@media (max-width: 34rem) { .qindex .qt .st { display: block; min-width: 0; margin-bottom: 0.1rem; } }
.tally { font-size: var(--s--1); color: var(--ink-2); margin: 0 0 var(--line); }
.tally span + span::before { content: " \00B7 "; color: var(--ink-3); }
.featured { list-style: none; margin: 0 0 0.8rem; padding: 0; max-width: 46rem; }
.featured li { max-width: none; display: grid; grid-template-columns: 8.2rem minmax(0, 1fr); column-gap: 1rem; padding-block: 0.5rem; border-top: 1px solid var(--rule); }
.featured li:last-child { border-bottom: 1px solid var(--rule); }
.featured .st { padding-top: 0.15rem; }
.featured a { text-decoration: none; }
.featured a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.featured .gist { display: block; color: var(--ink-2); font-size: var(--s--1); margin-top: 0.1rem; }
@media (max-width: 34rem) { .featured li { grid-template-columns: minmax(0, 1fr); } .featured .st { padding-top: 0; } }
.ledger-filter { font-size: var(--s--1); color: var(--ink-2); margin: 0 0 var(--line); }
.ledger-filter a { margin-right: 1rem; }
.ledger { list-style: none; margin: 0 0 var(--line); padding: 0; max-width: 50rem; }
.ledger > li.day { max-width: none; display: grid; grid-template-columns: 6.4rem minmax(0, 1fr); column-gap: 1rem; border-top: 1px solid var(--rule); padding-block: 0.45rem; }
.ledger > li.month { max-width: none; border-top: 1px solid var(--rule-2); padding: 1.1rem 0 0.35rem; font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink); }
.ledger > li.month + li.day { border-top: 0; }
.ledger .d { color: var(--ink-3); font-size: var(--s--1); padding-top: 0.12rem; white-space: nowrap; }
.ledger .es { list-style: none; margin: 0; padding: 0; }
.ledger .e { max-width: none; padding-block: 0.12rem; font-size: var(--s--1); line-height: 1.45; }
.ledger .e .k { display: inline-block; width: 5.6rem; font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); }
.ledger .e.cor .k { color: var(--ink); font-weight: 600; }
.ledger .e .v { color: var(--ink-2); white-space: nowrap; }
.ledger .e .why { display: block; color: var(--ink-2); margin: 0.1rem 0 0.25rem 5.6rem; max-width: 40em; }
@media (max-width: 34rem) {
  .ledger > li.day { grid-template-columns: minmax(0, 1fr); }
  .ledger .e .k { width: auto; margin-right: 0.4rem; }
  .ledger .e .why { margin-left: 0; }
}
#corrections-only:target ~ .ledger .e.rel { display: none; }
#corrections-only:target ~ .ledger > li.day:not(:has(.e.cor)) { display: none; }
#corrections-only:target ~ .ledger > li.month { display: none; }
#corrections-only:target ~ .ledger-filter .show-cor { text-decoration: none; color: var(--ink); }
.anchor-target { display: block; height: 0; overflow: hidden; }
.atlas { max-width: 50rem; margin: 0 0 var(--line); }
.atlas svg { display: block; width: 100%; height: auto; }
.atlas text { font-family: var(--serif); fill: var(--ink); }
.atlas .t-node { font-size: 15px; }
@media (max-width: 40rem) { .atlas .t-node { font-size: 13.5px; } }
.atlas .t-group { font-size: 13.5px; font-variant-caps: all-small-caps; letter-spacing: 0.08em; fill: var(--ink); }
.atlas .t-date { font-size: 12px; fill: var(--ink-3); }
.atlas .arc { fill: none; stroke: var(--ink-3); stroke-width: 0.8; opacity: 0.8; }
.atlas .dot { fill: var(--paper); stroke: var(--ink); stroke-width: 1; }
.atlas .rule { stroke: var(--rule); stroke-width: 1; }
.atlas a { text-decoration: none; }
.atlas a:hover .t-node, .atlas a:focus .t-node { text-decoration: underline; }
.atlas a:focus { outline: none; }
.atlas a:focus-visible .t-node { font-weight: 600; }
.edges { font-size: var(--s--1); }
.essay { max-width: 34em; }
.essay p { font-size: var(--s-1); line-height: 1.55; }
.essay .refs { font-size: var(--s--1); color: var(--ink-2); padding-left: 1.2em; }
.essay .refs li { margin-bottom: 0.3rem; max-width: 44em; }
.essay sup a { text-decoration: none; padding-left: 0.08em; }
.square-wrap { margin: 0 0 var(--line); }
.square { border-collapse: collapse; width: auto; font-size: var(--s-1); margin: 0 0 0.6rem; }
.square caption { font-size: var(--s--1); color: var(--ink-3); text-align: left; padding-bottom: 0.5rem; }
.square td { border: 1px solid var(--ink); width: 3.6rem; height: 3.6rem; padding: 0; text-align: center; vertical-align: middle; font-size: var(--s-2); }
.square th { font-weight: 400; font-size: var(--s--1); color: var(--ink-2); border: 0; padding: 0 0 0 0.7rem; text-align: left; white-space: nowrap; }
.square tfoot th, .square tfoot td { border: 0; height: auto; font-size: var(--s--1); color: var(--ink-2); text-align: center; vertical-align: top; padding: 0.4rem 0 0; }
.square tfoot th { text-align: left; padding-left: 0.7rem; }
.square tbody tr:last-child td { border-bottom: 1px solid var(--ink); }
.square .need { font-variant-caps: all-small-caps; letter-spacing: 0.06em; color: var(--ink-3); display: block; }
.square button { width: 100%; height: 3.6rem; display: block; border: 0; margin: 0; background: var(--paper); color: var(--ink); font: inherit; font-size: var(--s-2); font-variant-numeric: lining-nums tabular-nums; cursor: pointer; }
.square button:hover { background: var(--wash); }
.square button:focus-visible { outline: 2px solid var(--ink); outline-offset: -5px; }
.square .ok { color: var(--ink-3); }
.square .bad { color: var(--ink); font-weight: 600; }
.game-status { font-size: var(--s-0); min-height: 3em; max-width: 34em; margin: 0 0 0.6rem; }
.game-tools { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; margin: 0 0 var(--line); font-size: var(--s--1); }
.game-tools button { font: inherit; background: none; border: 0; padding: 0; color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; text-decoration-color: var(--ink-3); cursor: pointer; }
.game-tools button:hover { text-decoration-color: var(--ink); }
.game-tools[hidden] { display: none; }
.nojs-note { font-size: var(--s--1); color: var(--ink-2); }
.ops { border-collapse: collapse; width: auto; font-size: var(--s-0); margin: 0 0 0.4rem; }
.ops td { border: 1px solid var(--ink); padding: 0.45rem 0.8rem; text-align: center; white-space: nowrap; }
.ops tbody tr:last-child td { border-bottom: 1px solid var(--ink); }
.ops caption { font-size: var(--s--1); color: var(--ink-3); text-align: left; padding-bottom: 0.5rem; }
.derive { max-width: 34em; }
.kicker a { color: inherit; }
.byline { font-size: var(--s-0); color: var(--ink-2); margin-top: calc(var(--line) * 0.6); max-width: 46em; }
.see { font-size: var(--s--1); margin: 0.4rem 0 0; display: flex; flex-wrap: wrap; gap: 0.2rem 1.3rem; }
.statement .essay-link { font-size: var(--s-0); margin: calc(var(--line) * 0.7) 0 0; }
@media print {
  @page { margin: 18mm 16mm; }
  :root { --ink: #000; --ink-2: #222; --ink-3: #444; --rule: #999; --rule-2: #000; --wash: #f2f2f2; }
  html { font-size: 10.5pt; }
  body { font-size: 10.5pt; line-height: 1.4; }
  .nav, .skip, .game-tools, .ledger-filter { display: none !important; }
  .wrap { max-width: none; padding: 0; }
  .masthead { padding-top: 0; }
  h1, h2, h3, .label { break-after: avoid; }
  .work, .order > li, .qindex > li, .ledger > li.day, .receipts > div, .featured li, figure { break-inside: avoid; }
  a { text-decoration: none; }
  main a[href^="http"]::after { content: " <" attr(href) ">"; font-size: 0.82em; color: #444; word-break: break-all; }
  .sigfig a::after, .atlas a::after { content: none !important; }
  details::details-content { content-visibility: visible; display: block; }
  details > summary::after { content: none !important; }
  .sigfig .v-phone { display: none !important; }
  .sigfig .v-desk { display: block !important; }
  pre.cmd { white-space: pre-wrap; word-break: break-all; background: none; border-left: 1px solid #999; }
  .foot { padding-bottom: 0; }
}
.mk { width: 0.95em; height: 0.95em; flex: none; }
.foot .mark .mk { position: relative; top: 0.08em; }
.sigfig a, .atlas a { text-decoration: none; }
.sigfig a:hover .t-name, .sigfig a:focus-visible .t-name { text-decoration: underline; text-decoration-thickness: 1px; }
.square td { width: 4.1rem; height: 4.1rem; }
.square button { height: 4.1rem; }
.square tfoot td, .square tfoot th { font-size: var(--s--2); line-height: 1.35; white-space: nowrap; }
.square th.rowp { font-size: var(--s--2); line-height: 1.35; }
.square .need { white-space: nowrap; }
.game-hint { font-size: var(--s--1); color: var(--ink-2); margin: 0 0 0.6rem; }
.ledger .e .ck { font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink); font-weight: 600; }
.ledger .e.cor .k { color: var(--ink-3); font-weight: 400; }
.ledger .e.cor > .k:only-of-type { color: var(--ink-3); }
.qindex > li { grid-template-columns: 2rem 8.2rem minmax(0, 1fr); }
.qindex .qs { padding-top: 0.2rem; }
.qindex .qs .st { display: inline; }
.qindex .qt { font-size: var(--s-0); }
@media (max-width: 40rem) {
  .qindex > li { grid-template-columns: 2rem minmax(0, 1fr); }
  .qindex .qs { grid-column: 2; padding-top: 0; }
  .qindex .qb { grid-column: 2; }
}
.tally span + span::before { content: "\0020\00B7\0020"; }
.atlas .v-phone { display: none; }
@media (max-width: 40rem) { .atlas .v-desk { display: none; } .atlas .v-phone { display: block; } }
.ledger .e { padding-left: 5.6rem; text-indent: -5.6rem; }
.ledger .e .k { text-indent: 0; }
.ledger .e .why { margin-left: 0; text-indent: 0; }
@media (max-width: 34rem) { .ledger .e { padding-left: 0; text-indent: 0; } }
.essay p.note { font-size: var(--s--1); line-height: 1.5; }
.partners { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0 var(--gap); max-width: 52rem; }
.partners .person { max-width: none; }
.partners .person + .person { border-top: 1px solid var(--rule); padding-top: calc(var(--line) * 0.75); }
@media (min-width: 60rem) {
  .partners { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partners .person, .partners .person + .person { border-top: 0; padding-top: 0; }
}
.partners .draft { max-width: none; }
@media (min-width: 60rem) { .partners .person { display: flex; flex-direction: column; } .partners .draft { flex: 1 1 auto; } }
.fm:has(.e-1:hover, .e-1:focus-visible, .l-1:hover, .l-1:focus-within, .card.f-computability:hover, .card.f-computability:focus-visible, .card.f-nonlocal-games:hover, .card.f-nonlocal-games:focus-visible) :is(.e-1, .l-1, .card.f-computability, .card.f-nonlocal-games) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-2:hover, .e-2:focus-visible, .l-2:hover, .l-2:focus-within, .card.f-computability:hover, .card.f-computability:focus-visible, .card.f-quantum-channels:hover, .card.f-quantum-channels:focus-visible) :is(.e-2, .l-2, .card.f-computability, .card.f-quantum-channels) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-3:hover, .e-3:focus-visible, .l-3:hover, .l-3:focus-within, .card.f-computability:hover, .card.f-computability:focus-visible, .card.f-lattice-matter:hover, .card.f-lattice-matter:focus-visible) :is(.e-3, .l-3, .card.f-computability, .card.f-lattice-matter) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-4:hover, .e-4:focus-visible, .l-4:hover, .l-4:focus-within, .card.f-computability:hover, .card.f-computability:focus-visible, .card.f-cellular-automata:hover, .card.f-cellular-automata:focus-visible) :is(.e-4, .l-4, .card.f-computability, .card.f-cellular-automata) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-5:hover, .e-5:focus-visible, .l-5:hover, .l-5:focus-within, .card.f-computability:hover, .card.f-computability:focus-visible, .card.f-spectral-theory:hover, .card.f-spectral-theory:focus-visible) :is(.e-5, .l-5, .card.f-computability, .card.f-spectral-theory) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-6:hover, .e-6:focus-visible, .l-6:hover, .l-6:focus-within, .card.f-nonlocal-games:hover, .card.f-nonlocal-games:focus-visible, .card.f-operator-algebras:hover, .card.f-operator-algebras:focus-visible) :is(.e-6, .l-6, .card.f-nonlocal-games, .card.f-operator-algebras) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-7:hover, .e-7:focus-visible, .l-7:hover, .l-7:focus-within, .card.f-nonlocal-games:hover, .card.f-nonlocal-games:focus-visible, .card.f-thermodynamics:hover, .card.f-thermodynamics:focus-visible) :is(.e-7, .l-7, .card.f-nonlocal-games, .card.f-thermodynamics) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-8:hover, .e-8:focus-visible, .l-8:hover, .l-8:focus-within, .card.f-nonlocal-games:hover, .card.f-nonlocal-games:focus-visible, .card.f-lattice-matter:hover, .card.f-lattice-matter:focus-visible) :is(.e-8, .l-8, .card.f-nonlocal-games, .card.f-lattice-matter) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-9:hover, .e-9:focus-visible, .l-9:hover, .l-9:focus-within, .card.f-lattice-matter:hover, .card.f-lattice-matter:focus-visible, .card.f-nonlocal-games:hover, .card.f-nonlocal-games:focus-visible) :is(.e-9, .l-9, .card.f-lattice-matter, .card.f-nonlocal-games) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-10:hover, .e-10:focus-visible, .l-10:hover, .l-10:focus-within, .card.f-group-theory:hover, .card.f-group-theory:focus-visible, .card.f-nonlocal-games:hover, .card.f-nonlocal-games:focus-visible) :is(.e-10, .l-10, .card.f-group-theory, .card.f-nonlocal-games) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-11:hover, .e-11:focus-visible, .l-11:hover, .l-11:focus-within, .card.f-group-theory:hover, .card.f-group-theory:focus-visible, .card.f-quantum-channels:hover, .card.f-quantum-channels:focus-visible) :is(.e-11, .l-11, .card.f-group-theory, .card.f-quantum-channels) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-12:hover, .e-12:focus-visible, .l-12:hover, .l-12:focus-within, .card.f-number-theory:hover, .card.f-number-theory:focus-visible, .card.f-nonlocal-games:hover, .card.f-nonlocal-games:focus-visible) :is(.e-12, .l-12, .card.f-number-theory, .card.f-nonlocal-games) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-13:hover, .e-13:focus-visible, .l-13:hover, .l-13:focus-within, .card.f-number-theory:hover, .card.f-number-theory:focus-visible, .card.f-spectral-theory:hover, .card.f-spectral-theory:focus-visible) :is(.e-13, .l-13, .card.f-number-theory, .card.f-spectral-theory) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-14:hover, .e-14:focus-visible, .l-14:hover, .l-14:focus-within, .card.f-operator-algebras:hover, .card.f-operator-algebras:focus-visible, .card.f-quantum-channels:hover, .card.f-quantum-channels:focus-visible) :is(.e-14, .l-14, .card.f-operator-algebras, .card.f-quantum-channels) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-15:hover, .e-15:focus-visible, .l-15:hover, .l-15:focus-within, .card.f-quantum-channels:hover, .card.f-quantum-channels:focus-visible, .card.f-thermodynamics:hover, .card.f-thermodynamics:focus-visible) :is(.e-15, .l-15, .card.f-quantum-channels, .card.f-thermodynamics) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.fm:has(.e-16:hover, .e-16:focus-visible, .l-16:hover, .l-16:focus-within, .card.f-quantum-channels:hover, .card.f-quantum-channels:focus-visible, .card.f-graph-theory:hover, .card.f-graph-theory:focus-visible) :is(.e-16, .l-16, .card.f-quantum-channels, .card.f-graph-theory) { --op: 1; --hi: var(--accent); --hi-ink: var(--paper); --hi-w: 2; --hi-bg: var(--wash); }
.atlas:has(.n-type-games:hover) .a-type-games, .atlas:has(.n-type-games:focus) .a-type-games { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-hyperfinite:hover) .a-hyperfinite, .atlas:has(.n-hyperfinite:focus) .a-hyperfinite { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-uncomputable-price:hover) .a-uncomputable-price, .atlas:has(.n-uncomputable-price:focus) .a-uncomputable-price { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-perfect-play:hover) .a-perfect-play, .atlas:has(.n-perfect-play:focus) .a-perfect-play { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-unreachable-perfection:hover) .a-unreachable-perfection, .atlas:has(.n-unreachable-perfection:focus) .a-unreachable-perfection { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-price-of-precision:hover) .a-price-of-precision, .atlas:has(.n-price-of-precision:focus) .a-price-of-precision { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-critical-exponents:hover) .a-critical-exponents, .atlas:has(.n-critical-exponents:focus) .a-critical-exponents { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-beginning:hover) .a-beginning, .atlas:has(.n-beginning:focus) .a-beginning { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-matter:hover) .a-matter, .atlas:has(.n-matter:focus) .a-matter { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-explicit-game:hover) .a-explicit-game, .atlas:has(.n-explicit-game:focus) .a-explicit-game { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-heat-price:hover) .a-heat-price, .atlas:has(.n-heat-price:focus) .a-heat-price { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-i3322:hover) .a-i3322, .atlas:has(.n-i3322:focus) .a-i3322 { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-k5:hover) .a-k5, .atlas:has(.n-k5:focus) .a-k5 { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-contextuality:hover) .a-contextuality, .atlas:has(.n-contextuality:focus) .a-contextuality { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-complexness:hover) .a-complexness, .atlas:has(.n-complexness:focus) .a-complexness { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-frame-bus:hover) .a-frame-bus, .atlas:has(.n-frame-bus:focus) .a-frame-bus { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-lovasz:hover) .a-lovasz, .atlas:has(.n-lovasz:focus) .a-lovasz { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-kaplansky:hover) .a-kaplansky, .atlas:has(.n-kaplansky:focus) .a-kaplansky { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-non-sofic:hover) .a-non-sofic, .atlas:has(.n-non-sofic:focus) .a-non-sofic { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-p-groups:hover) .a-p-groups, .atlas:has(.n-p-groups:focus) .a-p-groups { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-houghton:hover) .a-houghton, .atlas:has(.n-houghton:focus) .a-houghton { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-configuration-lamps:hover) .a-configuration-lamps, .atlas:has(.n-configuration-lamps:focus) .a-configuration-lamps { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-memory-beyond-entropy:hover) .a-memory-beyond-entropy, .atlas:has(.n-memory-beyond-entropy:focus) .a-memory-beyond-entropy { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-rational-channels:hover) .a-rational-channels, .atlas:has(.n-rational-channels:focus) .a-rational-channels { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-immediate-delivery:hover) .a-immediate-delivery, .atlas:has(.n-immediate-delivery:focus) .a-immediate-delivery { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-no-algorithm:hover) .a-no-algorithm, .atlas:has(.n-no-algorithm:focus) .a-no-algorithm { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-closed-memory:hover) .a-closed-memory, .atlas:has(.n-closed-memory:focus) .a-closed-memory { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-schur:hover) .a-schur, .atlas:has(.n-schur:focus) .a-schur { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-two-query:hover) .a-two-query, .atlas:has(.n-two-query:focus) .a-two-query { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-fqr:hover) .a-fqr, .atlas:has(.n-fqr:focus) .a-fqr { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-time-order:hover) .a-time-order, .atlas:has(.n-time-order:focus) .a-time-order { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-save-work:hover) .a-save-work, .atlas:has(.n-save-work:focus) .a-save-work { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-real-time:hover) .a-real-time, .atlas:has(.n-real-time:focus) .a-real-time { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-keeping-time:hover) .a-keeping-time, .atlas:has(.n-keeping-time:focus) .a-keeping-time { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-order-not-speed:hover) .a-order-not-speed, .atlas:has(.n-order-not-speed:focus) .a-order-not-speed { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-deadlines:hover) .a-deadlines, .atlas:has(.n-deadlines:focus) .a-deadlines { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-almost-mathieu:hover) .a-almost-mathieu, .atlas:has(.n-almost-mathieu:focus) .a-almost-mathieu { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-universality:hover) .a-universality, .atlas:has(.n-universality:focus) .a-universality { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.atlas:has(.n-worst-case-transport:hover) .a-worst-case-transport, .atlas:has(.n-worst-case-transport:focus) .a-worst-case-transport { stroke: var(--ink); stroke-width: 1.6; opacity: 1; }
.work .sha { font-size: var(--s--2); color: var(--ink-3); margin: 0.3rem 0 0; max-width: 46rem; line-height: 1.45; }
.work .sha .hash { font-family: var(--mono); font-size: 0.95em; letter-spacing: 0; color: var(--ink-2); overflow-wrap: anywhere; word-break: break-all; }
.work .sha code { font-size: 0.95em; }
.statement { padding-block: calc(var(--line) * 1.1) calc(var(--line) * 0.7); }
.statement h1 { font-size: clamp(1.35rem, 1.15rem + 0.6vw, 1.7rem); line-height: 1.22; max-width: 22em; font-family: var(--serif); letter-spacing: 0; }
.statement .lede { font-size: var(--s-0); line-height: 1.5; color: var(--ink-2); max-width: 34em; margin-top: 0.7rem; }
.record-aside { margin-top: 0.4rem; }
.record-aside .record dt { font-size: var(--s-1); }
.record-aside .record > div { padding-block: 0.32rem; }
.record-aside .record dd { font-size: var(--s--1); color: var(--ink-2); }
.majors-sec { border-top: 1px solid var(--rule-2); padding-top: calc(var(--line) * 0.75); margin-top: calc(var(--line) * 0.5); }
.majors-sec > .label { font-size: var(--s-0); line-height: 1.5; font-variant-caps: all-small-caps; letter-spacing: 0.07em; margin-bottom: 0.2rem; }
.majors-sec > .label .sub { font-variant-caps: normal; letter-spacing: 0; color: var(--ink-3); font-size: var(--s--1); margin-left: 0.6rem; }
@media (max-width: 40rem) { .majors-sec > .label .sub { display: block; margin-left: 0; } }
.majors { list-style: none; margin: 0; padding: 0; counter-reset: maj; }
.majors > li { max-width: none; border-top: 1px solid var(--rule); padding-block: calc(var(--line) * 0.6) calc(var(--line) * 0.55); counter-increment: maj;
  display: grid; grid-template-columns: minmax(0, 1fr); }
.majors > li:first-child { border-top: 0; }
@media (min-width: 60rem) { .majors > li { grid-template-columns: 2.4rem minmax(0, 1fr); column-gap: 0.6rem; } .majors > li::before { content: counter(maj); font-family: var(--display); font-size: var(--s-2); color: var(--ink-3); line-height: 1.3; font-variant-numeric: lining-nums; } .majors > li > * { grid-column: 2; } }
.majors .claim { font-family: var(--display); font-size: clamp(1.5rem, 1.26rem + 0.85vw, 1.9rem); line-height: 1.16; max-width: 33em; margin: 0 0 0.35rem; text-wrap: pretty; letter-spacing: -0.003em; }
.majors .claim a { text-decoration: none; }
.majors .claim a:hover { text-decoration: underline; text-decoration-thickness: 0.05em; text-underline-offset: 0.16em; }
.majors .why { color: var(--ink-2); max-width: 46em; margin: 0 0 0.3rem; line-height: 1.45; font-size: var(--s--1); }
.tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.1rem 0; font-size: var(--s--1); color: var(--ink-3); font-variant-caps: all-small-caps; letter-spacing: 0.06em; }
.tags li { max-width: none; }
.tags li + li::before { content: "\00B7"; margin: 0 0.55em; color: var(--rule); }
.lines-c { list-style: none; margin: 0 0 0.6rem; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); column-gap: var(--gap); }
@media (min-width: 60rem) { .lines-c { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lines-c li { max-width: none; border-top: 1px solid var(--rule); padding-block: 0.45rem 0.5rem; }
.lines-c .ln { margin: 0; font-size: var(--s-0); }
.lines-c .ln a { text-decoration: none; }
.lines-c .ln a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.lines-c .count { color: var(--ink-3); font-size: var(--s--1); margin-left: 0.25rem; }
.lines-c .fq { margin: 0.1rem 0 0; font-size: var(--s--1); color: var(--ink); max-width: 40em; }
.lines-c .fq a { text-decoration-color: var(--rule); }
.lines-c .fq .st { margin-right: 0.3rem; }
.lines-c .fq .gist { color: var(--ink-2); }
.home-compact .dated li { padding-block: 0.3rem; }
.home-compact .dated .what small { display: inline; margin-left: 0.4rem; }
.work .tier { margin: 0 0 0.15rem; font-size: var(--s--2); font-variant-caps: all-small-caps; letter-spacing: 0.09em; color: var(--ink-3); }
.work .tier.t-major { color: var(--accent); }
.work .tier.t-major::before { content: ""; display: inline-block; width: 0.55em; height: 0.55em; border: 1px solid var(--accent); background: var(--accent); margin-right: 0.4em; vertical-align: 0.05em; }
.work .tier.t-notable::before { content: ""; display: inline-block; width: 0.55em; height: 0.55em; border: 1px solid var(--ink-3); margin-right: 0.4em; vertical-align: 0.05em; }
.work .tier.t-technical::before { content: ""; display: inline-block; width: 0.55em; height: 0.1em; background: var(--ink-3); margin-right: 0.4em; vertical-align: 0.2em; }
.st.else { color: var(--ink-2); font-style: italic; }
.st.ext { color: var(--ink-2); }
.answered { list-style: none; margin: 0 0 var(--line); padding: 0; max-width: 52rem; counter-reset: ap; }
.answered > li { max-width: none; border-top: 1px solid var(--rule); padding-block: calc(var(--line) * 0.75) calc(var(--line) * 0.6); scroll-margin-top: 1rem; }
.answered > li:last-child { border-bottom: 1px solid var(--rule); }
.answered .aq { font-size: var(--s-1); line-height: 1.35; max-width: 32em; margin: 0.1rem 0 0.35rem; text-wrap: pretty; }
.answered .aq .st { display: block; margin-bottom: 0.15rem; }
.answered dl { margin: 0; font-size: var(--s--1); max-width: 46rem; }
.answered dl > div { display: grid; grid-template-columns: minmax(0, 1fr); padding-block: 0.2rem; }
.answered dt { font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); }
.answered dd { margin: 0; max-width: 42em; }
@media (min-width: 40rem) { .answered dl > div { grid-template-columns: 8rem minmax(0, 1fr); column-gap: 1rem; } }
.fm { container: fm / inline-size; margin: 0 0 calc(var(--line) * 0.7); }
.fieldmap { display: none; margin: 0; }
.fieldmap svg { display: block; width: 100%; height: auto; }
.fieldmap text { font-family: var(--serif); fill: var(--ink); }
.fieldmap a { text-decoration: none; }
.fieldmap a:focus { outline: none; }
.fieldmap :is(.e, .card) { opacity: var(--op, 1); }
.fieldmap .box { fill: var(--paper); stroke: var(--hi, var(--ink-3)); stroke-width: var(--hi-w, 1); }
.fieldmap .box2 { fill: none; stroke: var(--hi, var(--ink)); stroke-width: 1; }
.fieldmap .hub .box { fill: var(--wash); stroke: var(--hi, var(--ink)); stroke-width: var(--hi-w, 1.3); }
.fieldmap .lone .box { stroke: var(--hi, var(--rule)); }
.fieldmap .f-name { font-size: 16px; font-variant-caps: all-small-caps; letter-spacing: 0.06em; }
.fieldmap .hub .f-name { font-weight: 600; }
.fieldmap .lone .f-name { fill: var(--ink-2); }
.fieldmap .f-hl { font-size: 14px; fill: var(--ink-2); }
.fieldmap .f-credit { font-size: 12px; font-style: italic; fill: var(--ink-3); }
.fieldmap .f-note { font-size: 13px; font-variant-caps: all-small-caps; letter-spacing: 0.06em; fill: var(--ink-3); }
.fieldmap .sub, .fieldmap .sup { font-size: 72%; }
.fieldmap .it { font-style: italic; }
.fieldmap .up { font-style: normal; }
.fieldmap .card:is(:hover, :focus-visible) { --op: 1; --hi: var(--accent); }
.fieldmap .card:is(:hover, :focus-visible) .f-hl { fill: var(--accent); }
.fieldmap .card:focus-visible .box { stroke-width: 3; }
.fieldmap .e .ln { fill: none; stroke: var(--hi, var(--ink-3)); stroke-width: var(--hi-w, 1); }
.fieldmap .e.hubedge .ln { stroke: var(--hi, var(--ink-2)); stroke-width: var(--hi-w, 1.35); }
.fieldmap .e.cond .ln { stroke-dasharray: 5 3.5; }
.fieldmap .e .hit { fill: none; stroke: transparent; stroke-width: 16; }
.fieldmap .e .arrow { fill: var(--hi, var(--ink-3)); }
.fieldmap .e.hubedge .arrow { fill: var(--hi, var(--ink-2)); }
.fieldmap .e .badge { fill: var(--hi, var(--paper)); stroke: var(--hi, var(--ink-3)); stroke-width: 1; }
.fieldmap .e .num { font-size: 12px; text-anchor: middle; fill: var(--hi-ink, var(--ink)); font-variant-numeric: lining-nums tabular-nums; }
.fieldmap .e:focus-visible .ln { stroke-width: 3; }
.fieldmap .e:focus-visible .badge { stroke-width: 2.5; }
.fm:has(:where(.fieldmap a:hover, .fieldmap a:focus-visible, .fm-out .l:hover, .fm-out .l:focus-within)) :where(.fieldmap .e) { --op: 0.14; }
.fm:has(:where(.fieldmap a:hover, .fieldmap a:focus-visible, .fm-out .l:hover, .fm-out .l:focus-within)) :where(.fieldmap .card) { --op: 0.38; }
@media (prefers-reduced-motion: no-preference) {
  .fieldmap :is(.e, .card) { transition: opacity 0.18s ease-out; }
  .fieldmap :is(.ln, .box, .badge, .arrow) { transition: stroke 0.18s ease-out, fill 0.18s ease-out, stroke-width 0.18s ease-out; }
  .fm-out .l { transition: background-color 0.18s ease-out; }
}
.fm-key { min-width: 0; }
.fm-lede { font-size: var(--s--1); color: var(--ink-2); max-width: 40em; margin: 0 0 0.7rem; }
.fm-fields { list-style: none; margin: 0; padding: 0; }
.fm-f { max-width: none; border-top: 1px solid var(--rule); padding-block: 0.7rem 0.8rem; scroll-margin-top: 1rem; }
.fm-f:last-child { border-bottom: 1px solid var(--rule); }
.fm-name { font-size: var(--s-0); line-height: 1.35; font-variant-caps: all-small-caps; letter-spacing: 0.07em; margin: 0; }
.fm-f.hub .fm-name { font-weight: 600; }
.fm-tag { font-weight: 400; color: var(--ink-3); margin-left: 0.3rem; letter-spacing: 0.06em; }
.fm-hl { margin: 0.2rem 0 0.35rem; line-height: 1.4; max-width: 34em; }
.fm-hl a { color: var(--ink); text-decoration-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.fm-hl a:hover { color: var(--accent); }
.fm-credit { display: block; font-size: var(--s--1); font-style: italic; color: var(--ink-3); margin-top: 0.1rem; }
.fm-out { list-style: none; margin: 0; padding: 0; }
.fm-out .l { position: relative; max-width: 40em; padding: 0.24rem 0.35rem 0.28rem 2.05rem; font-size: var(--s--1); line-height: 1.38; background: var(--hi-bg, transparent); scroll-margin-top: 1rem; }
.fm-out .l > a { display: block; color: var(--ink); text-decoration: none; }
.fm-out .l > a .s { text-decoration-line: underline; text-decoration-thickness: 0.06em; text-underline-offset: 0.2em; text-decoration-color: color-mix(in srgb, var(--accent) 40%, transparent); }
.fm-out .l > a:hover .s { color: var(--accent); text-decoration-color: var(--accent); }
.fm-out .l > a:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.fm-out .l .n, .fm-ins .n { display: inline-block; min-width: 1.35rem; padding: 0 0.15rem; text-align: center; line-height: 1.2rem; border: 1px solid var(--hi, var(--ink-3)); background: var(--hi, transparent); color: var(--hi-ink, var(--ink)); font-size: var(--s--2); font-variant-numeric: lining-nums tabular-nums; }
.fm-out .l .n { position: absolute; left: 0; top: 0.34rem; }
.fm-out .to { font-variant-caps: all-small-caps; letter-spacing: 0.06em; color: var(--ink-2); margin-right: 0.25rem; }
.fm-out .cnd { font-variant-caps: all-small-caps; letter-spacing: 0.06em; }
.fm-out .cite { display: block; color: var(--ink-3); margin-top: 0.1rem; }
.fm-ins { font-size: var(--s--1); color: var(--ink-2); margin: 0.35rem 0 0; max-width: 40em; }
.fm-ins .k { font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); margin-right: 0.3rem; }
.fm-ins a { color: var(--ink-2); white-space: nowrap; margin-right: 0.1rem; text-decoration: none; }
.fm-ins a .t { text-decoration-line: underline; text-decoration-thickness: 0.06em; text-underline-offset: 0.2em; text-decoration-color: color-mix(in srgb, var(--accent) 40%, transparent); }
.fm-ins a:hover .t { color: var(--accent); }
.fm-ins .n { margin-right: 0.2rem; }
.fm-none { font-style: italic; }
.fm-drawn { display: none; }
@media (max-width: 46rem) { .sub.hint { display: none; } }   
@container fm (min-width: 700px) {
  .fieldmap { display: block; }
  .fm-drawn { display: inline; }
  .fm-key { margin-top: 0.9rem; }
  .fm-f.leaf, .fm-hl, .fm-ins { display: none; }
  .fm-fields { columns: 2; column-gap: 2.4rem; }
  .fm-f { break-inside: avoid; border-top: 0; padding-block: 0 0.7rem; }
  .fm-f:last-child { border-bottom: 0; }
  .fm-name { border-bottom: 1px solid var(--rule); padding-bottom: 0.1rem; margin-bottom: 0.15rem; }
}
@container fm (min-width: 60rem) {
  .fm-grid { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; column-gap: 2.2rem; align-items: start; }
  .fm-key { margin-top: 0.2rem; }
  .fm-fields { columns: 1; }
  .fm-f { padding-block: 0 0.5rem; }
}
@media (min-height: 46rem) { @container fm (min-width: 60rem) { .fieldmap { position: sticky; top: 0.75rem; } } }
.ideas-wrap { overflow-x: auto; max-width: 100%; margin: 0 0 0.6rem; }
table.ideas { border-collapse: collapse; font-size: var(--s--1); min-width: 46rem; }
table.ideas th, table.ideas td { border-top: 1px solid var(--rule); padding: 0.45rem 0.4rem; vertical-align: top; text-align: left; }
table.ideas thead th { border-top: 0; font-weight: 400; color: var(--ink-3); font-variant-caps: all-small-caps; letter-spacing: 0.05em; font-size: var(--s--2); line-height: 1.25; vertical-align: bottom; }
table.ideas tbody th { font-weight: 400; width: 15rem; padding-right: 1rem; }
table.ideas tbody th .idea { display: block; font-style: italic; color: var(--ink); }
table.ideas tbody th .def { display: block; color: var(--ink-3); font-size: var(--s--2); line-height: 1.4; margin-top: 0.15rem; }
table.ideas td { text-align: center; min-width: 3.2rem; }
.pd { position: relative; display: inline-block; font-size: 1.15rem; line-height: 1; padding: 0 0.06rem; color: var(--ink); text-decoration: none; }
.pd:hover, .pd:focus { color: var(--ink-3); outline: none; }
.pd:focus-visible { outline: 1px solid var(--ink); }
.pd .tip { position: absolute; left: 50%; bottom: 1.35rem; transform: translateX(-50%); width: max-content; max-width: 16rem; background: var(--paper); color: var(--ink); border: 1px solid var(--ink); padding: 0.25rem 0.45rem; font-size: var(--s--2); line-height: 1.35; text-align: left; visibility: hidden; z-index: 3; white-space: normal; }
.pd:hover .tip, .pd:focus .tip { visibility: visible; }
@media (max-width: 40rem) { .ideas-wrap { display: none; } }
.ideas-list { display: none; }
@media (max-width: 40rem) { .ideas-list { display: block; } }
.ideas-list > div { border-top: 1px solid var(--rule); padding-block: 0.55rem; }
.ideas-list .idea { font-style: italic; }
.ideas-list .def { color: var(--ink-3); font-size: var(--s--1); margin: 0.1rem 0 0.25rem; }
.ideas-list ul { list-style: none; margin: 0; padding: 0; font-size: var(--s--1); }
.ideas-list li { padding-block: 0.08rem; }
.ideas-list li .fd { color: var(--ink-3); font-variant-caps: all-small-caps; letter-spacing: 0.05em; }
.layer-lede { max-width: 40em; color: var(--ink-2); margin-bottom: 0.8rem; }
.frame-q { font-size: var(--s-1); line-height: 1.45; max-width: 32em; font-style: italic; margin: calc(var(--line) * 0.6) 0 0; }
.bib { list-style: none; margin: 0 0 var(--line); padding: 0; max-width: 50rem; font-size: var(--s--1); }
.bib li { max-width: none; padding-block: 0.3rem; border-top: 1px solid var(--rule); line-height: 1.45; }
.bib li:last-child { border-bottom: 1px solid var(--rule); }
.bib .yr { color: var(--ink-3); font-variant-numeric: lining-nums tabular-nums; margin-right: 0.5rem; }
.bib .pk { display: block; color: var(--ink-3); }
.bib-h { font-size: var(--s-0); font-variant-caps: all-small-caps; letter-spacing: 0.07em; margin: calc(var(--line) * 0.6) 0 0.3rem; }
.tools { list-style: none; margin: 0 0 var(--line); padding: 0; max-width: 46rem; }
.tools > li { max-width: none; border-top: 1px solid var(--rule); padding-block: 0.6rem; }
.tools > li:last-child { border-bottom: 1px solid var(--rule); }
.tools h3 { font-size: var(--s-0); margin-bottom: 0.2rem; }
.tools p { margin: 0 0 0.25rem; }
.tools .src { font-size: var(--s--1); color: var(--ink-3); }
.nav a[aria-current="page"] { text-decoration-color: var(--accent); }
.kicker a, .wordmark, .nav a, .majors .claim a, .lines-c .ln a, .qindex .qn a, .work h3 a { color: var(--ink); }
.nav a { color: var(--ink-2); }
.majors .claim a:hover, .lines-c .ln a:hover { color: var(--accent-2); }
.majors .go { margin: 0.25rem 0 0; font-size: var(--s--1); display: flex; flex-wrap: wrap; gap: 0.1rem 1rem; }
.majors .go a { white-space: nowrap; }
.record dd a { white-space: nowrap; }
.record-links { margin: 0.5rem 0 0; font-size: var(--s--1); color: var(--ink-2); display: flex; flex-wrap: wrap; gap: 0.1rem 1rem; }
details.legend-d { margin-top: 0.8rem; }
details.legend-d > summary { cursor: pointer; font-size: var(--s--1); color: var(--accent); }
details.legend-d[open] > summary { margin-bottom: 0.6rem; }
code { overflow-wrap: anywhere; }
.posed-note { margin-top: 0.6rem; }
@media (max-width: 40rem) {
  .work .sha, .work .checked { display: none; }
  .majors .claim { font-size: 1.35rem; }
  .nav ul { gap: 0.1rem 0.75rem; }
}
.pagehead .key { font-size: var(--s--1); color: var(--ink-2); max-width: 46em; margin: 0.6rem 0 0; line-height: 1.7; }
.pagehead .key .st { margin-right: 0.35rem; }
.pagehead .key .st:not(:first-child) { margin-left: 1rem; }
.jump { list-style: none; margin: -0.6rem 0 var(--line); padding: 0; display: flex; flex-wrap: wrap; gap: 0.2rem 1.2rem; font-size: var(--s--1); }
.jump li { max-width: none; }
.jump .count { color: var(--ink-3); }
#posed .qindex .qn { display: none; }
#posed .qindex > li { grid-template-columns: 8.2rem minmax(0, 1fr); }
@media (max-width: 34rem) { #posed .qindex > li { grid-template-columns: minmax(0, 1fr); } }
.majors .go a + a, .record-links a + a { margin-left: 0; }
.statement h1 { font-family: var(--display); font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem); line-height: 1.15; max-width: 20em; }
.statement .lede { color: var(--ink); }
.how-strip { border-top: 1px solid var(--rule-2); padding: calc(var(--line) * 0.7) 0 calc(var(--line) * 0.5); display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.3rem 2rem; }
.how-strip > .label { font-size: var(--s-0); font-variant-caps: all-small-caps; letter-spacing: 0.07em; margin: 0; }
.how-strip p { margin: 0; max-width: 46em; color: var(--ink); }
@media (min-width: 60rem) { .how-strip { grid-template-columns: 11rem minmax(0, 1fr); } }
.majors-sec .pr-note { font-size: var(--s--1); color: var(--ink-2); margin: 0 0 0.4rem; max-width: 46em; }
.majors .plain { margin: 0 0 0.3rem; max-width: 44em; color: var(--ink); }
.majors .checked-by { margin: 0.1rem 0 0.15rem; font-size: var(--s--1); color: var(--ink-2); max-width: 46em; }
.majors .checked-by .k { font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--accent); margin-right: 0.3rem; }
.checks-aside { margin-top: 0.4rem; max-width: 30rem; }
.checks { list-style: none; margin: 0 0 0.45rem; padding: 0; counter-reset: ck; }
.checks > li { max-width: none; position: relative; border-top: 1px solid var(--rule); padding: 0.34rem 0 0.34rem 1.85rem; counter-increment: ck; font-size: var(--s--1); line-height: 1.4; color: var(--ink-2); }
.checks > li:last-child { border-bottom: 1px solid var(--rule); }
.checks > li::before { content: counter(ck); position: absolute; left: 0; top: 0.3rem; font-family: var(--display); font-size: var(--s-1); line-height: 1.05; color: var(--ink-3); font-variant-numeric: lining-nums; }
.checks .ck-h { color: var(--ink); }
.checks a { white-space: nowrap; }
.checks-foot { font-size: var(--s--1); color: var(--ink-2); margin: 0; line-height: 1.45; max-width: 30rem; }
@media (min-width: 60rem) {
  .statement { grid-template-columns: minmax(0, 1fr) 19.5rem; align-items: start; }
  .checks-aside { margin-top: 0.3rem; }
}
.story { list-style: none; margin: 0 0 var(--line); padding: 0; counter-reset: step; max-width: 50rem; }
.story > li { max-width: none; border-top: 1px solid var(--rule); padding-block: calc(var(--line) * 0.75) calc(var(--line) * 0.6); counter-increment: step; display: grid; grid-template-columns: minmax(0, 1fr); scroll-margin-top: 1rem; }
.story > li:first-child { border-top: 0; padding-top: 0.2rem; }
.story > li::before { content: "Step " counter(step); font-variant-caps: all-small-caps; letter-spacing: 0.08em; color: var(--ink-3); font-size: var(--s--1); line-height: 1.3; margin-bottom: 0.15rem; }
@media (min-width: 48rem) {
  .story > li { grid-template-columns: 2.6rem minmax(0, 1fr); column-gap: 0.7rem; }
  .story > li::before { content: counter(step); font-family: var(--display); font-variant-caps: normal; letter-spacing: 0; font-size: var(--s-3); line-height: 1; color: var(--ink-3); font-variant-numeric: lining-nums; margin: 0; }
  .story > li > * { grid-column: 2; }
}
.story .st-claim { font-family: var(--display); font-size: clamp(1.35rem, 1.18rem + 0.6vw, 1.7rem); line-height: 1.18; max-width: 26em; margin: 0 0 0.4rem; text-wrap: pretty; }
.story .st-plain { max-width: 38em; margin: 0 0 0.55rem; }
.story .st-quote { margin: 0 0 0.6rem; font-size: var(--s--1); max-width: 40em; }
.story .st-quote p { margin: 0 0 0.1rem; font-style: italic; }
.story .st-quote footer { font-size: var(--s--2); }
.story .st-start { margin: 0 0 0.3rem; font-size: var(--s-0); max-width: 40em; }
.story .st-start .k, .story .st-meta .k { font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); margin-right: 0.45rem; font-size: var(--s--1); }
.story .st-start a { font-weight: 600; text-decoration-thickness: 1px; }
.story .st-more { list-style: none; margin: 0 0 0.45rem; padding: 0; font-size: var(--s--1); max-width: 42em; }
.story .st-more li { max-width: none; padding-block: 0.12rem; padding-left: 1.1rem; position: relative; color: var(--ink-2); }
.story .st-more li::before { content: "\2192"; position: absolute; left: 0; color: var(--ink-3); }
.story .st-meta { margin: 0; font-size: var(--s--1); color: var(--ink-2); max-width: 44em; }
.story .st-meta .k ~ .k { margin-left: 1rem; }
.apart { list-style: none; margin: 0 0 var(--line); padding: 0; max-width: 50rem; font-size: var(--s--1); }
.apart > li { max-width: none; border-top: 1px solid var(--rule); padding-block: 0.4rem; display: grid; grid-template-columns: minmax(0, 1fr); }
.apart > li:last-child { border-bottom: 1px solid var(--rule); }
.apart .ap-k { font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); }
@media (min-width: 40rem) { .apart > li { grid-template-columns: 12rem minmax(0, 1fr); column-gap: 1rem; } }
.read-ways { list-style: none; margin: calc(var(--line) * 0.7) 0 0; padding: 0; max-width: 46rem; font-size: var(--s--1); color: var(--ink-2); }
.read-ways li { max-width: none; padding-block: 0.3rem; border-top: 1px solid var(--rule); display: grid; grid-template-columns: minmax(0, 1fr); }
.read-ways li:last-child { border-bottom: 1px solid var(--rule); }
.read-ways a { font-size: var(--s-0); }
@media (min-width: 40rem) { .read-ways li { grid-template-columns: 9rem minmax(0, 1fr); column-gap: 1rem; } }
math { hanging-punctuation: none; }
.eq {
  display: block; max-width: 100%; margin: calc(var(--line) * 0.75 - 0.12em) 0; padding-block: 0.12em;  
  overflow-x: auto; overflow-y: hidden;
  background-color: var(--paper);
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='%236b6b6b'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='%236b6b6b'/%3E%3C/svg%3E");
  background-position: left center, right center, left 1px center, right 1px center;
  background-size: 5px 100%, 5px 100%, 1px calc(100% - 0.5em), 1px calc(100% - 0.5em);
  background-repeat: no-repeat;
  background-attachment: local, local, scroll, scroll;
}
.eq math[display="block"] { margin: 0; overflow: visible; }
.eq-break { display: flex; flex-wrap: wrap; justify-content: center; justify-content: safe center; align-items: baseline; column-gap: 1.04em; row-gap: 0.35em; }
.eq-break.tight { column-gap: 0; }
.eq-break.wide { column-gap: 2.08em; }
.eq-break > math[display="block"] { flex: 0 0 auto; }
.eq-break .eq-break { margin: 0; padding: 0; overflow: visible; background: none; max-width: 100%; }
.mjoin { white-space: nowrap; }
@media (max-width: 30rem) { .mjoin { white-space: normal; } }
@media (max-width: 40rem) {
  .foot p { line-height: 1.75; }
  .foot a { white-space: nowrap; }
  .majors .go, .work .links, .see, .record-links, .sigfig .after, .jump { row-gap: 0.45rem; }
}
.square button { touch-action: manipulation; }
@media (hover: none) { .square button:hover { background: var(--paper); } }
@media (max-width: 40rem) { .game-tools button { padding-block: 0.3rem; } .game-tools { row-gap: 0.2rem; } }
@media print { .eq { overflow: visible; background: none; } }
.hooks-aside { margin-top: 0.4rem; max-width: 30rem; }
.hooks { list-style: none; margin: 0 0 0.5rem; padding: 0; }
.hooks > li { max-width: none; border-top: 1px solid var(--rule); padding: 0.42rem 0; font-size: var(--s--1); line-height: 1.42; }
.hooks > li:last-child { border-bottom: 1px solid var(--rule); }
.hooks a { color: var(--ink); text-decoration-color: color-mix(in srgb, var(--accent) 40%, transparent); }
.hooks a:hover { color: var(--accent); }
.hooks-foot { font-size: var(--s--1); color: var(--ink-2); margin: 0; line-height: 1.5; max-width: 30rem; }
.hooks-foot a { white-space: nowrap; }
@media (min-width: 60rem) { .hooks-aside { margin-top: 0.3rem; } }
[hidden] { display: none !important; }
.st.res { color: var(--ink); }
.pagehead .plainline { font-size: var(--s-1); line-height: 1.45; max-width: 34em; margin: calc(var(--line) * 0.7) 0 0; }
.plainline .k, .body .summary .who { display: block; font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); font-size: var(--s--1); margin-bottom: 0.15rem; }
.body .summary { max-width: var(--measure); margin-bottom: calc(var(--line) * 0.8); }
.depths .summary { font-size: var(--s-0); }
.line-facts { font-size: var(--s--1); color: var(--ink-2); margin: 0.7rem 0 0; max-width: 46em; }
.line-q { font-size: var(--s-1); line-height: 1.4; max-width: 32em; margin-bottom: 0.3rem; }
.line-q .st { font-size: var(--s--1); margin-right: 0.35rem; }
.line-intro { color: var(--ink-2); font-size: var(--s--1); margin: 0 0 0.7rem; max-width: 46em; }
.settles { list-style: none; margin: 0.3rem 0 0.7rem; padding: 0; max-width: 46rem; font-size: var(--s--1); }
.settles li { max-width: none; border-top: 1px solid var(--rule); padding-block: 0.3rem; }
.settles li:last-child { border-bottom: 1px solid var(--rule); }
.settles .st { margin-right: 0.4rem; }
.settles .quiet { font-size: var(--s--2); font-variant-caps: all-small-caps; letter-spacing: 0.06em; margin-left: 0.3rem; }
.order > li > div { min-width: 0; }
.order .see { margin-top: 0.2rem; }
.checked.quiet { font-size: var(--s--2); color: var(--ink-3); margin: 0.5rem 0 0; }
.credit { margin-top: calc(var(--line) * 0.8); max-width: var(--measure); }
.theorem { scroll-margin-top: 1rem; }
.theorem > .t a.anchor { color: inherit; text-decoration: none; }
.theorem > .t a.anchor:hover { text-decoration: underline; text-decoration-thickness: 1px; }
table.versions th[scope="row"] { white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; }
table.versions td[data-k="Notes"] { max-width: 30em; }
form.filters { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; align-items: baseline; font-size: var(--s--1); color: var(--ink-2); margin: 0.6rem 0 var(--line); max-width: 100%; }
form.filters label { display: inline-flex; flex-wrap: wrap; gap: 0.2rem 0.4rem; align-items: baseline; max-width: 100%; }
form.filters select { font: inherit; color: var(--ink); background: var(--paper); border: 1px solid var(--rule); border-radius: 0; padding: 0.15rem 0.3rem; max-width: 100%; min-width: 0; }
form.filters .filter-count { color: var(--ink-3); }
button.copy { font: inherit; font-size: var(--s--1); background: none; border: 0; padding: 0.2rem 0; margin: 0 0 0.6rem; color: var(--accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; cursor: pointer; }
button.copy:hover { color: var(--accent-2); }
details.printed { margin: 0.3rem 0 0; font-size: var(--s--1); max-width: 46em; }
details.printed > summary { cursor: pointer; color: var(--accent); }
details.printed blockquote { margin: 0.35rem 0 0.2rem; }
details.printed blockquote p { font-style: italic; margin-bottom: 0.2rem; }
.search-form label[for="q"] { display: block; font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); font-size: var(--s--1); margin-bottom: 0.25rem; }
.search-form input[type="search"] { font: inherit; font-size: var(--s-1); width: 100%; max-width: 34rem; padding: 0.35rem 0.5rem; border: 1px solid var(--ink); border-radius: 0; background: var(--paper); color: var(--ink); -webkit-appearance: none; appearance: none; }
.search-form input[type="search"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.search-kinds { border: 0; padding: 0; margin: 0.6rem 0 0; display: flex; flex-wrap: wrap; gap: 0.2rem 1.2rem; font-size: var(--s--1); }
.search-kinds legend { float: left; margin-right: 0.6rem; color: var(--ink-3); font-variant-caps: all-small-caps; letter-spacing: 0.07em; padding: 0; }
.search-results { list-style: none; margin: var(--line) 0; padding: 0; max-width: 46rem; }
.search-results li { max-width: none; border-top: 1px solid var(--rule); padding-block: 0.55rem; }
.search-results li:last-child { border-bottom: 1px solid var(--rule); }
.search-results .kind { display: block; font-size: var(--s--2); font-variant-caps: all-small-caps; letter-spacing: 0.07em; color: var(--ink-3); }
.search-results .excerpt { margin: 0.15rem 0 0; font-size: var(--s--1); color: var(--ink-2); }
mark { background: var(--wash); color: var(--ink); font-weight: 600; }
.pagehead .key-d { max-width: 46em; margin-top: 0.7rem; }
.keylist > div { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 40rem) { .keylist > div { grid-template-columns: 12.5rem minmax(0, 1fr); column-gap: 1rem; } }
.keylist .st { white-space: normal; }
.qindex .qs .st { white-space: normal; display: inline-block; max-width: 100%; line-height: 1.25; }
@media (min-width: 60rem) { .statement { display: block; } }
.statement .facts { font-size: var(--s--1); line-height: 1.5; color: var(--ink-2); max-width: 46em; margin-top: 0.7rem; }
.map-band { border-top: 1px solid var(--rule-2); padding-top: calc(var(--line) * 0.75); margin-top: calc(var(--line) * 0.5); }
.map-band > .label { font-size: var(--s-0); line-height: 1.5; font-variant-caps: all-small-caps; letter-spacing: 0.07em; margin-bottom: 0.2rem; }
.map-band > .label .sub { font-variant-caps: normal; letter-spacing: 0; color: var(--ink-3); font-size: var(--s--1); margin-left: 0.6rem; }
@media (max-width: 40rem) { .map-band > .label .sub { display: none; } }
.map-band .map-q { font-size: var(--s-1); line-height: 1.45; max-width: 36em; color: var(--ink); margin: 0.3rem 0 0.9rem; }
.map-band .map-more { font-size: var(--s--1); color: var(--ink-2); margin: 0; }
