.reader-toolbar {
  position:sticky;
  top:0;
  background:var(--paper);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  z-index:25
}

.toolbar-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:65px;
  gap:20px
}

.toolbar-inner>a {
  font-size:12px;
  text-decoration:none;
  color:var(--muted)
}

.toolbar-inner>a:hover {
  color:var(--gold)
}

.reader-controls {
  display:flex;
  gap:8px;
  align-items:center
}

.reader-controls>span {
  font-size:10px;
  color:var(--muted);
  margin-right:10px
}

.reader-controls button {
  border:1px solid var(--line);
  width:40px;
  height:38px;
  font:17px/1 var(--serif);
  color:var(--ink)
}

.reader-controls button:hover {
  background:var(--wash);
  border-color:var(--gold)
}

.reader-controls .print-button {
  width:auto;
  padding-inline:15px;
  font:11px/1 var(--sans);
  margin-left:8px
}

.reading-progress {
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  pointer-events:none
}

.reading-progress span {
  display:block;
  height:100%;
  width:0;
  background:var(--gold)
}

.reader-layout {
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:80px;
  padding-top:50px;
  padding-bottom:90px
}

.reader-sidebar {
  align-self:start;
  position:sticky;
  top:100px;
  max-height:calc(100vh - 125px);
  overflow:auto;
  scrollbar-width:thin;
  padding-right:14px
}

.reader-contents summary,.other-sections summary {
  font:600 11px/1.5 var(--sans);
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--gold);
  cursor:pointer;
  list-style:none;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:20px
}

.reader-contents summary::-webkit-details-marker,.other-sections summary::-webkit-details-marker {
  display:none
}

.reader-contents ol {
  padding:0;
  margin:14px 0 28px;
  list-style:none;
  counter-reset:toc
}

.reader-contents li {
  margin:0;
  counter-increment:toc
}

.reader-contents a {
  display:flex;
  gap:12px;
  align-items:baseline;
  text-decoration:none;
  font-size:11px;
  line-height:1.75;
  color:var(--muted);
  padding:7px 0
}

.reader-contents a::before {
  content:counter(toc,decimal-leading-zero);
  font-size:9px;
  color:var(--gold);
  flex-shrink:0;
  min-width:16px
}

.reader-contents a:hover,.reader-contents a.active {
  color:var(--ink);
  text-decoration:underline
}

.reader-contents a.active {
  font-weight:600
}

.other-sections nav {
  padding-top:10px
}

.other-sections a {
  display:block;
  font-size:11px;
  color:var(--muted);
  text-decoration:none;
  padding:7px 0
}

.other-sections a:hover,.other-sections a[aria-current] {
  color:var(--gold)
}

.reader-body {
  max-width:800px;
  min-width:0
}

.reading-text {
  font-size:var(--reader-size);
  line-height:1.85
}

.reading-text h2 {
  font-size:clamp(28px,2.7vw,36px);
  padding-top:18px;
  margin-top:1.8em;
  border-top:1px solid var(--line);
  scroll-margin-top:90px
}

.reading-text h2:first-child {
  margin-top:0
}

.reading-text p {
  white-space:pre-line;
  hyphens:auto
}

.reading-text h2+p {
  margin-top:1.3em
}

.reading-text p:empty {
  display:none
}

.editor-note {
  font:14px/1.85 var(--sans);
  padding:22px 26px;
  background:var(--wash);
  border-left:2px solid var(--gold);
  margin:0 0 34px
}

.article-source {
  margin-top:60px;
  border-top:1px solid var(--line);
  padding-top:28px;
  font:12px/1.9 var(--sans);
  color:var(--muted)
}

.article-source .eyebrow {
  margin-bottom:10px
}

.article-source a {
  color:var(--gold)
}

.next-reading {
  display:grid;
  grid-template-columns:1fr auto;
  text-decoration:none;
  padding:30px;
  margin-top:45px;
  background:var(--wash);
  gap:10px 30px
}

.next-reading .eyebrow {
  grid-column:1;
  margin:0
}

.next-reading strong {
  grid-column:1;
  font:30px/1.3 var(--serif);
  color:var(--ink)
}

.next-reading>span:last-child {
  grid-column:2;
  grid-row:1/3;
  align-self:center;
  font-size:30px;
  color:var(--gold)
}

.next-reading:hover {
  outline:1px solid var(--gold)
}

.download-box {
  border:1px solid var(--line);
  padding:30px;
  margin-bottom:40px
}

.download-box h2 {
  font-size:30px;
  margin-bottom:18px
}

.download-box p {
  font-size:14px;
  color:var(--muted)
}

.download-box .text-link {
  display:flex;
  margin-top:15px;
  width:fit-content
}

@media(max-width:1100px) {
  .reader-layout {
    grid-template-columns:220px minmax(0,1fr);
    gap:45px
  }

}

@media(max-width:900px) {
  .reader-layout {
    grid-template-columns:190px minmax(0,1fr);
    gap:30px
  }

  .reader-contents a {
    font-size:10px
  }

  .reading-text {
    font-size:var(--reader-size)
  }

}

@media(max-width:760px) {
  .reader-layout {
    display:block;
    padding-top:26px
  }

  .reader-sidebar {
    position:static;
    max-height:none;
    padding:0;
    margin-bottom:32px;
    overflow:visible
  }

  .reader-contents {
    border:1px solid var(--line);
    padding:8px 20px;
    background:var(--wash)
  }

  .reader-contents summary {
    border:0;
    font-size:11px
  }

  .reader-contents ol {
    max-height:350px;
    overflow:auto;
    margin:8px 0 15px
  }

  .reader-contents a {
    font-size:13px;
    padding:9px 0
  }

  .other-sections {
    display:none
  }

  .toolbar-inner {
    min-height:60px;
    gap:10px
  }

  .reader-controls>span {
    display:none
  }

  .reader-controls {
    gap:5px
  }

  .reader-controls button {
    width:36px;
    height:38px
  }

  .reader-controls .print-button {
    display:none
  }

  .toolbar-inner>a {
    font-size:11px
  }

  .reading-text {
    line-height:1.8
  }

  .reading-text h2 {
    font-size:30px
  }

  .reader-body {
    max-width:100%
  }

  .next-reading {
    padding:24px
  }

  .next-reading strong {
    font-size:27px
  }

}

@media print {
  html,body {
    background:#fff!important;
    color:#000!important
  }

  body {
    font-size:12pt
  }

  .site-header,.site-footer,.breadcrumbs,.reader-toolbar,.reader-sidebar,.back-top,.next-reading,.skip-link,.article-meta,.button,.download-box {
    display:none!important
  }

  .shell {
    width:100%;
    margin:0
  }

  .article-heading {
    padding:0 0 25px
  }

  .article-heading h1 {
    font-size:28pt
  }

  .article-heading p {
    font-size:13pt
  }

  .reader-layout {
    display:block;
    padding:0
  }

  .reader-body {
    max-width:100%
  }

  .prose,.reading-text {
    font-size:12pt;
    line-height:1.55;
    color:#000
  }

  .prose h2 {
    color:#000;
    font-size:18pt;
    break-after:avoid;
    page-break-after:avoid
  }

  .prose p {
    orphans:3;
    widows:3
  }

  .article-source {
    font-size:10pt;
    color:#333
  }

  a {
    color:#000!important
  }

  figure,img {
    break-inside:avoid
  }

  h1,h2,h3 {
    color:#000!important
  }

  @page {
    margin:18mm
  }

}

/* Comfortable interface text sizes. */
.toolbar-inner>a {
  font-size:14px
}

.reader-controls>span {
  font-size:12px
}

.reader-controls button {
  min-width:44px;
  min-height:44px
}

.reader-controls .print-button {
  font-size:13px
}

.reader-contents a,.other-sections a {
  font-size:13px
}

.reader-contents a::before {
  font-size:11px
}

.source-note {
  font:14px/1.8 var(--sans);
  color:var(--muted);
  padding-bottom:16px;
  border-bottom:1px solid var(--line)
}

.article-source {
  font-size:14px
}

.editor-note {
  font-size:15px
}

@media(max-width:760px) {
  .toolbar-inner>a {
    font-size:12px
  }

  .reader-contents a {
    font-size:14px
  }

  .reader-controls button {
    width:40px;
    min-width:40px
  }

  .source-note {
    font-size:14px
  }

}
