
/* Boutique Without Consensus online reading edition */
:root { --reader-width: 820px; --muted: #a9a9b2; --line: rgba(255,255,255,.14); }
.paper-landing, .paper-reader { font-family: Roboto, Arial, sans-serif; color: inherit; }
.paper-landing { max-width: 1120px; margin: 0 auto; padding: 42px 24px 64px; }
.landing-hero { display: grid; grid-template-columns: minmax(240px, 360px) 1fr; gap: 48px; align-items: start; }
.cover-image { width: 100%; height: auto; display: block; box-shadow: 0 18px 45px rgba(0,0,0,.35); }
.landing-copy { padding-top: 12px; }
.eyebrow { font-family: 'Courier Prime', monospace; letter-spacing: .09em; font-size: .78rem; opacity: .72; }
.landing-copy h2 { font-size: clamp(2rem,4.5vw,4rem); line-height: .98; margin: 12px 0 16px; letter-spacing: -.03em; }
.subtitle { font-size: 1.15rem; line-height: 1.5; max-width: 720px; }
.byline { font-weight: 700; margin: 18px 0 28px; }
.landing-copy p { line-height: 1.7; }
.read-button { display: inline-block; margin: 10px 0 24px; padding: 12px 18px; border: 1px solid currentColor; border-radius: 4px; color: inherit; text-decoration: none; font-weight: 700; }
.read-button:hover { opacity: .75; }
.rights { font-size: .82rem; line-height: 1.5; opacity: .62; }
.contents-panel { margin-top: 58px; border-top: 1px solid var(--line); padding-top: 28px; }
.contents-panel h2 { margin-bottom: 18px; }
.web-toc { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 42px; }
.web-toc li { break-inside: avoid; margin: 0 0 8px; line-height: 1.35; }
.web-toc a { color: inherit; text-decoration: none; }
.web-toc a:hover { text-decoration: underline; }
.web-toc .toc-h1 { font-weight: 700; margin-top: 14px; }
.web-toc .toc-h2 { padding-left: 14px; font-size: .94rem; }
.web-toc .toc-h3 { padding-left: 28px; font-size: .9rem; opacity: .8; }
.paper-reader { max-width: var(--reader-width); margin: 0 auto; padding: 34px 24px 70px; }
.reader-tools { font-family: 'Courier Prime', monospace; display: flex; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); font-size: .82rem; opacity: .78; }
.reader-tools a { color: inherit; }
.paper-reader article { padding-top: 24px; }
.paper-reader article > h2:first-child, .paper-reader article > h3:first-child { margin-top: 0; }
.paper-reader h2 { font-size: clamp(1.65rem,3vw,2.35rem); line-height: 1.12; margin: 52px 0 24px; }
.paper-reader h3 { font-size: 1.28rem; line-height: 1.25; margin: 36px 0 16px; }
.paper-reader h4, .paper-reader h5 { font-size: 1.05rem; line-height: 1.3; margin: 28px 0 12px; }
.paper-reader p { font-size: 1.035rem; line-height: 1.78; margin: 0 0 1.15em; }
.paper-reader p.align-center { text-align: center; }
.paper-reader p.align-right { text-align: right; }
.paper-reader a { color: inherit; }
.paper-figure { margin: 34px auto; width: min(100%, 760px); }
.paper-figure img { display: block; width: 100%; height: auto; margin: 0 auto; }
.signature { width: 280px; max-width: 65%; margin: 28px 0; }
.signature img { width: 100%; height: auto; }
.table-wrap { overflow-x: auto; margin: 30px 0 38px; border: 1px solid var(--line); }
.paper-reader table { width: 100%; border-collapse: collapse; min-width: 650px; font-size: .9rem; line-height: 1.45; }
.paper-reader th, .paper-reader td { border: 1px solid var(--line); padding: 10px 12px; text-align: left; vertical-align: top; }
.paper-reader th { font-weight: 700; }
.index-entry { padding-left: 1.2rem; text-indent: -1.2rem; margin-bottom: .45em !important; }
.reader-nav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; margin-top: 55px; padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.reader-nav a { text-decoration: none; font-weight: 700; }
.reader-nav a:hover { text-decoration: underline; }
.reader-nav .toc { text-align: center; }
.reader-nav .next { text-align: right; }
.reader-rights { margin-top: 28px; }
@media (max-width: 780px) {
  .landing-hero { grid-template-columns: 1fr; }
  .cover-image { max-width: 360px; margin: 0 auto; }
  .web-toc { columns: 1; }
  .paper-reader { padding-left: 18px; padding-right: 18px; }
  .paper-reader p { font-size: 1rem; line-height: 1.7; }
  .reader-tools span { display: none; }
}
@media (max-width: 520px) {
  .paper-landing { padding: 28px 18px 50px; }
  .landing-copy h2 { font-size: 2.25rem; }
  .reader-nav { grid-template-columns: 1fr 1fr; }
  .reader-nav .toc { display: none; }
}

.index-note { font-size: .88rem !important; opacity: .68; margin-bottom: 24px !important; }
