/* A book's measure, with room for the running outline and references. */
.reader-page .reading-layout{grid-template-columns:205px minmax(0,1fr);gap:55px;padding-block:42px 72px}
.reader-page .reading-body{max-width:40rem;font-size:calc(1.3125rem * var(--reading-scale,1));line-height:1.76;font-kerning:normal}
.reader-page .reading-body>p{margin-bottom:1.25em}
.reader-page .reading-body h2{margin-block:3rem 1.4rem;line-height:1.24}
.reader-page .reading-body h3{margin-block:2.3rem 1.1rem;line-height:1.3}
.reader-page .reading-body h4,.reader-page .reading-body h5{line-height:1.4}
.reader-page .reading-body :is(h2,h3,h4,h5,[id]){scroll-margin-top:calc(var(--reader-ribbon-height,60px) + 28px)}
.reader-page .reading-margin{top:calc(var(--reader-ribbon-height,60px) + 22px)}
.reader-page .reader-toc summary{padding-bottom:15px}
.reader-page .reader-toc nav{max-height:calc(100dvh - 210px);padding-right:12px;overscroll-behavior:contain}
.reader-outline,.reader-outline ol{list-style:none;margin:0;padding:0}
.reader-outline>li{border-top:1px solid var(--line)}
.reader-outline a{border:0;padding:13px 0;line-height:1.42}
.toc-chapter{display:flex;align-items:flex-start;gap:6px}
.toc-chapter>a{flex:1;min-width:0}
.toc-expand{flex:none;min-width:32px;min-height:44px;border:0;background:none;color:var(--muted);padding:4px;cursor:pointer;font:1.125rem var(--sans)}
.toc-expand:hover{color:var(--accent)}
.reader-outline .toc-subsections{padding:0 0 12px 13px;border-left:1px solid var(--line);margin:2px 0 8px 2px}
.toc-subsections a{padding:7px 0;font-size:.9375rem;line-height:1.45}
.reader-outline a[aria-current="location"]{text-decoration:none;color:var(--accent);font-weight:600}
.reader-outline a:hover{text-decoration:underline}
.reader-page .reading-length{padding-top:17px;border-top:1px solid var(--line);margin-top:18px}
.reading-adjustments{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding-right:24px;border-right:1px solid var(--line)}
.reading-tools .reading-control-label{margin:0 8px 0 0;font:1rem var(--serif);color:var(--muted)}
.reading-tools .reading-size-button{padding:6px 9px;border:0;min-width:40px;min-height:44px;font:1rem var(--sans)}
.reading-tools .reading-size-button:hover{background:var(--soft);color:var(--accent)}
.reading-tools .reading-size-button:disabled{opacity:.4;cursor:default;background:none;color:var(--muted)}
.reading-tools .reading-size-label{min-width:62px;margin:0 0 0 6px;font:.875rem var(--sans)}
.reading-ribbon{position:fixed;inset:0 auto auto 50%;transform:translateX(-50%);z-index:30;width:min(var(--max),calc(100% - 64px));background:var(--paper);border-bottom:1px solid var(--line)}
.ribbon-inner{display:flex;align-items:center;gap:20px;min-height:58px;padding:10px 56px}
.reading-context{font-size:1.0625rem;font-style:italic;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.reading-percentage{font:.875rem var(--sans);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ribbon-toc{display:none;border:0;background:none;padding:8px 0;min-height:44px;cursor:pointer;color:var(--accent);font:1rem var(--serif)}
.reading-progress{height:2px;background:var(--line)}
.reading-progress>span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.reading-ribbon[hidden],.toc-subsections[hidden]{display:none}
.has-reader-tools{scroll-padding-top:calc(var(--reader-ribbon-height,60px) + 20px)}
.reader-page .note-call a{padding:5px 4px;margin-inline:-2px;border-bottom:1px dotted var(--line);text-underline-offset:3px;scroll-margin-top:calc(var(--reader-ribbon-height,60px) + 28px)}
.reader-page .note-call a:hover{border-bottom-color:var(--accent)}
.note-preview{position:fixed;inset:5dvh max(24px,calc((100vw - 1180px)/2 + 24px)) auto auto;margin:0;width:min(31rem,calc(100% - 32px));max-height:90dvh;padding:0;border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--paper);color:var(--ink);box-shadow:0 15px 55px #182A3030}
.note-preview[open]{display:flex;flex-direction:column}
.note-preview::backdrop{background:#182A301a}
.note-preview-heading{padding:22px 26px 18px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 18px}
.note-preview-heading h2{font:italic 1.65rem/1.2 var(--serif);color:var(--accent);margin:0;white-space:nowrap}
.note-preview-close{border:0;background:none;cursor:pointer;font:1rem/1.35 var(--serif);padding:8px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.note-preview-body{padding:25px 26px 16px;overflow:auto;overscroll-behavior:contain;font:1.1875rem/1.65 var(--serif);min-height:0}
.note-preview-body p{margin:0 0 1em;overflow-wrap:anywhere}
.note-preview-body a{color:var(--accent);overflow-wrap:anywhere}
.note-preview-body strong{font-weight:600}
.note-preview-footer{padding:15px 26px 20px;border-top:1px solid var(--line);font:1rem/1.4 var(--serif);color:var(--muted)}
.note-preview-footer a{display:inline-block;padding-block:7px}
@media(max-width:68.75em){.reading-ribbon{width:calc(100% - 40px)}.ribbon-inner{padding-inline:36px}.reader-page .reading-layout{grid-template-columns:185px minmax(0,1fr);gap:36px}}
@media(max-width:59em){.reader-page .reading-layout{grid-template-columns:155px minmax(0,1fr);gap:28px}}
@media(max-width:53.125em){
  .reader-page .reading-layout{grid-template-columns:minmax(0,1fr);gap:27px;padding-block:28px 52px}
  .reader-page .reading-body{margin-inline:auto;width:100%}
  .reader-page .reading-margin{position:static;padding-bottom:18px}
  .reader-page .reader-toc nav{max-height:45dvh}
  .reader-page .reading-length{border:0;padding:0;margin-top:9px}
  .reading-ribbon{width:calc(100% - 28px)}.ribbon-inner{padding:4px 30px;gap:15px;min-height:55px}
  .ribbon-toc{display:block}.reading-context{font-size:1rem}
  .reader-page .reading-margin.is-floating{position:fixed;top:calc(var(--reader-ribbon-height,55px) + 2px);left:14px;right:14px;z-index:31;background:var(--paper);padding:20px 30px 18px;max-height:70dvh;overflow:auto;border:1px solid var(--line);box-shadow:0 14px 25px #182A301a}
  .reading-margin.is-floating .reader-toc summary{display:none}
  .reading-margin.is-floating .reader-toc nav{max-height:calc(70dvh - 75px)}
  .reading-adjustments{border:0;padding:0;width:100%}
}
@media(max-width:35em){
  .reader-page .reading-body{font-size:calc(1.25rem * var(--reading-scale,1));line-height:1.72}
  .reader-page .reading-body h2{margin-top:2.4rem}.reader-page .reading-body h3{margin-top:1.9rem}
  .reader-page .reading-tools{row-gap:11px}.reading-tools .reading-size-label{display:inline;margin:0 0 0 6px}
  .reading-ribbon{width:100%}.ribbon-inner{padding-inline:24px;gap:13px}.reading-percentage{font-size:.8125rem}
  .reader-page .reading-margin.is-floating{left:0;right:0;padding-inline:24px}
  .note-preview{inset:auto 0 0;margin:0;width:100%;max-height:85dvh;border-inline:0;border-bottom:0}
  .note-preview-heading{padding:12px 22px 10px;gap:12px}.note-preview-heading h2{font-size:1.5rem}
  .note-preview-body{padding:22px 22px 12px;font-size:1.125rem}.note-preview-footer{padding:12px 22px 18px}
}
@media print{
  .reading-ribbon,.note-preview,.reading-adjustments{display:none!important}
  .reader-page .reading-layout{display:block;padding:0}
  .reader-page .reading-body{max-width:none;font-size:11pt;line-height:1.5}
  .reader-page .reading-body>p{margin-bottom:1.15em}
  .reader-page .reading-body h2{margin-block:22pt 12pt;line-height:1.2}
  .reader-page .reading-body h3{margin-block:18pt 10pt;line-height:1.25}
  .reader-page .note-call a{border:0;padding:0;margin:0}
}
@media(prefers-reduced-motion:reduce){.has-reader-tools{scroll-behavior:auto}}
