:root {
  color-scheme: light;
  --paper: #fff;
  --ink: #111;
  --muted: #666;
  --rule: #dedede;
  --soft: #f6f6f6;
  --font: "OpenAI Sans", Arial, "Helvetica Neue", "PingFang SC", "Noto Sans CJK SC", sans-serif;
  --body-size: 17px;
  --body-leading: 28px;
  --paragraph-space: 24px;
  --block-space: 48px;
  --chapter-space: 80px;
  --gutter: 24px;
  --grid-gap: 8px;
  --h1-size: clamp(32px, calc(20.7324px + 3.0047vw), 64px);
  --h1-leading: clamp(36.48px, calc(26.7904px + 2.584vw), 64px);
  --h2-size: clamp(24px, calc(21.8873px + .56338vw), 30px);
}
:root[data-theme="dark"] { color-scheme: dark; --paper:#000; --ink:#fff; --muted:#aaa; --rule:#333; --soft:#101010; }
* { box-sizing: border-box; }
html { background: var(--paper); scroll-behavior: smooth; scroll-padding-top: 28px; }
body { margin: 0; color: var(--ink); background: var(--paper); font:400 var(--body-size)/var(--body-leading) var(--font); letter-spacing: -.01em; -webkit-font-smoothing: antialiased; }
main { overflow: clip; padding: 80px 0 112px; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.skip { position:absolute; left:24px; top:-80px; padding:8px; background:var(--paper); z-index:10; }
.skip:focus { top:8px; }
.article-header { width:calc(100% - 48px); max-width:802px; margin:0 auto var(--chapter-space); text-align:center; }
.article-header h1 { margin:0; font-size:var(--h1-size); line-height:var(--h1-leading); font-weight:500; letter-spacing:-.03em; text-wrap:balance; }
.deck { max-width:596px; margin:24px auto 0; font-size:17px; line-height:28px; text-wrap:balance; }
.metadata { margin:24px auto 0; font-size:14px; line-height:19.6px; letter-spacing:normal; color:var(--muted); }
.layout { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:var(--grid-gap); max-width:1440px; padding-inline:var(--gutter); margin-inline:auto; }
.prose, .media, .full { grid-column:1/-1; min-width:0; }
.chapter + .chapter { margin-top:var(--chapter-space); }
.block + .block { margin-top:var(--block-space); }
.prose h2 { margin:0 0 var(--block-space); font-size:var(--h2-size); line-height:1.32; font-weight:500; letter-spacing:-.01em; text-wrap:pretty; }
.prose h3 { margin:40px 0 24px; font-size:21px; line-height:1.35; font-weight:500; letter-spacing:-.01em; }
p { margin:0 0 var(--paragraph-space); }
p:last-child { margin-bottom:0; }
strong { font-weight:600; }
ul, ol { padding-left:1.4em; margin:0 0 24px; }
li + li { margin-top:8px; }
figure { margin:0; }
figure img, figure svg, figure video { display:block; width:100%; height:auto; }
figure img { object-fit:contain; }
figcaption { margin-top:20px; font-size:14px; line-height:22.96px; letter-spacing:normal; color:var(--muted); }
figcaption p { font:inherit; }
blockquote { margin:0; font-size:clamp(17px,1.2vw,20px); font-weight:500; line-height:1.3; letter-spacing:-.025em; }
.credit { margin-top:20px; font-size:14px; line-height:19.6px; color:var(--muted); letter-spacing:normal; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.6; letter-spacing:normal; font-variant-numeric:tabular-nums; }
th, td { padding:12px 16px 12px 0; border-bottom:1px solid var(--rule); text-align:left; vertical-align:top; }
th { font-weight:500; }
caption { text-align:left; margin-bottom:16px; font-size:17px; }
code, pre { font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-size:.85em; letter-spacing:normal; }
pre { padding:20px; line-height:1.6; border:1px solid var(--rule); overflow-x:auto; }
pre code { font-size:inherit; }
.equation { display:flex; gap:16px; align-items:center; margin-block:32px; overflow-x:auto; padding-block:12px; }
.equation math { flex:1; font-size:1.15em; }
.equation-number { color:var(--muted); font-size:14px; white-space:nowrap; }
.reading-note { margin-top:32px; border-block:1px solid var(--rule); padding-block:20px; color:var(--muted); font-size:15px; line-height:1.65; }
.footnotes { border-top:1px solid var(--rule); padding-top:28px; font-size:14px; line-height:1.64; letter-spacing:normal; }
.footnotes ol { padding-left:1.6em; }
.source-link { overflow-wrap:anywhere; }
sup { font-size:.72em; line-height:0; }
@media (min-width:768px) {
  :root { --gutter:32px; --grid-gap:16px; --block-space:64px; --chapter-space:120px; }
  main { padding-top:112px; }
  .prose { grid-column:4/10; }
  .media { grid-column:3/11; }
}
@media (min-width:1024px) { :root { --grid-gap:24px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print {
  :root { --paper:#fff; --ink:#000; --muted:#555; --rule:#ccc; color-scheme:light; }
  main { padding:0; overflow:visible; }
  .layout { display:block; padding:0; }
  .article-header { width:100%; margin-bottom:40px; }
  .article-header h1 { font-size:32px; line-height:1.15; }
  .chapter + .chapter { margin-top:40px; }
  .block + .block { margin-top:28px; }
  .prose h2 { margin-bottom:24px; }
  figure, .equation { break-inside:avoid; }
  h2,h3 { break-after:avoid; }
  p { orphans:3; widows:3; }
  .skip { display:none; }
}
.table-caption { margin:0 0 16px; font-size:17px; line-height:28px; }
.table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.table-wrap td:first-child { white-space:nowrap; }
@media (max-width:600px) {
  .table-wrap table { min-width:480px; font-size:13px; }
  .table-wrap th, .table-wrap td { padding:10px 12px 10px 0; }
}
