/* The historical text is the default reading surface. */
[hidden]{display:none!important}
.edition-toolbar{position:sticky;top:0;z-index:9;background:var(--paper);border-block:1px solid var(--line);padding:12px 0;font:var(--small)/1.4 var(--sans)}
.edition-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}
.edition-controls [role=tablist]{display:flex;flex-wrap:wrap;gap:4px}
.edition-toolbar button{border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted);padding:9px 12px;font:inherit}
.edition-toolbar button[aria-selected=true]{color:var(--teal);background:var(--wash);border-color:#b9ceca}
.edition-toolbar button:disabled{opacity:.35;cursor:default}.compare-switch{display:flex;align-items:center;gap:6px;white-space:nowrap}
.edition-toolbar input{accent-color:var(--teal)}.comparison-choices{display:flex;align-items:center;gap:16px;padding:10px 0;color:var(--muted)}
.comparison-choices fieldset{display:flex;gap:14px;flex-wrap:wrap;border:0;padding:0;margin:0}.comparison-choices legend{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}

.edition-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.edition-grid[data-columns="2"] {grid-template-columns: repeat(2, minmax(0,1fr))}
.edition-grid[data-columns="3"] {grid-template-columns: repeat(3, minmax(0,1fr))}
.edition-panel{min-width:0}.edition-panel,.edition-passage{border:0!important;padding:0!important}
.edition-scroll{max-width:760px;margin:auto;outline-offset:4px;padding:25px 0 40px}.edition-scroll .continuation{border-top:0;padding-top:0}
.panel-label{display:none}.edition-passage{scroll-margin-top:160px}.edition-scroll [id]{scroll-margin-top:160px}
.edition-passage h2{font-size:var(--title);margin-top:34px}.historical-note{font-size:var(--small);line-height:1.6;border-left:2px solid var(--line);padding-left:16px;margin:22px 0}.historical-figure{text-align:center;margin:25px 0}.historical-figure img{max-width:100%;max-height:400px;object-fit:contain}
.counterparts{display:flex;gap:14px;padding:8px 0;font:var(--small)/1.4 var(--sans)}
.comparing-editions .layout{max-width:112rem}.comparing-editions .hero{padding:25px 0 20px}.comparing-editions h1{font-size:var(--title)}.comparing-editions .edition-scroll{max-height:calc(100dvh - 240px);overflow:auto;overscroll-behavior:contain;padding:16px 18px 35px;font-size:var(--body-size);scroll-behavior:auto}.comparing-editions .edition-panel{border:1px solid var(--line)!important}.comparing-editions .panel-label{display:block;font:600 var(--small)/1.5 var(--sans);letter-spacing:.06em;color:var(--teal);padding:12px 18px;margin:0;border-bottom:1px solid var(--line)}
.comparing-editions .edition-scroll h2{font-size:var(--body-size)}.comparing-editions .edition-grid{gap:16px}.comparing-editions .edition-scroll .theorem{padding:16px}.comparing-editions .edition-scroll .continuation h2{margin-top:24px}
@media(max-width:1000px){.comparing-editions .edition-grid{gap:10px}.comparing-editions .edition-scroll{padding:12px;font-size:var(--small)}.comparison-choices{flex-wrap:wrap;gap:8px}}
@media(max-width:720px){.edition-controls{gap:6px;align-items:flex-start}.edition-toolbar{font-size:var(--small);padding:8px 0}.edition-toolbar button{padding:8px 6px}.edition-controls [role=tablist]{gap:0}.compare-switch{padding-top:8px}.edition-scroll{padding:18px 0 25px}.edition-passage h2{font-size:var(--title)}.comparing-editions .edition-grid{grid-template-columns:1fr}.comparing-editions .edition-scroll{max-height:55dvh;font-size:var(--body-size)}.comparing-editions .hero h1{font-size:var(--title)}.comparison-choices fieldset{gap:8px}}
@media print{.edition-toolbar,.book-contents,.masthead{display:none}.comparing-editions .edition-scroll{max-height:none;overflow:visible}}

.counterparts{flex-wrap:wrap;align-items:baseline}

/* Keep each version identifiable in both the single and compared views. */
#panel-original,#tab-original{--tint:#f7f1e5}
#panel-modernized,#tab-modernized{--tint:#ebf3ed}
#panel-reinterpreted,#tab-reinterpreted{--tint:#edf0f8}
.edition-panel,.edition-toolbar button[aria-selected=true]{background-color:var(--tint)}
body:not(.comparing-editions) .edition-panel{padding-inline:clamp(12px,2vw,24px)!important}


.layout {
  display: grid;
  grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  max-width: 80rem;
  padding-inline: clamp(1.25rem, 3vw, 3rem);
}
.book-contents {
  position: sticky;
  top: 0;
  align-self: start;
  max-height: 100dvh;
  overflow-y: auto;
  padding: 2rem 1.1rem 2rem 0;
  border-right: 1px solid var(--line);
  font: var(--small)/1.5 var(--sans);
}
.book-contents ol, .book-contents ul {list-style: none; margin: 0; padding: 0}
.book-contents a {display: block; padding: .3rem 0; text-decoration: none; color: var(--muted)}
.book-contents a:hover, .book-contents a:focus-visible {text-decoration: underline}
.book-contents .book-overview {color: var(--ink); font-weight: 600; margin-bottom: .6rem}
.book-contents .book-passages {border-left: 1px solid var(--line); padding-left: .8rem; margin: .1rem 0 .5rem .15rem}
.book-contents a[aria-current] {color: var(--teal); font-weight: 600}
@media (min-width: 801px) and (max-width: 1150px) {
  .comparing-editions .edition-grid[data-columns="3"] {grid-template-columns: 1fr}
}
@media (max-width: 800px) {
  .layout {display: block; padding-inline: 1rem; --contents-height: 2.75rem}
  .book-contents {padding: 0; overflow: visible; border: 0; background: var(--paper); z-index: 10}
  #contents-toggle {height: var(--contents-height); width: 100%; background: var(--paper); border: 0; border-bottom: 1px solid var(--line); text-align: left; font: 600 var(--small)/1.5 var(--sans); color: var(--teal); cursor: pointer}
  #contents-toggle::after {content: '+'; float: right}
  #contents-toggle[aria-expanded=true]::after {content: '−'}
  #contents-toggle:not([hidden]) + #contents-list {position: absolute; width: 100%; max-height: 65dvh; overflow-y: auto; padding: .5rem 1rem 1rem; background: var(--paper); border: 1px solid var(--line)}
  .edition-toolbar {top: var(--contents-height)}
  .comparing-editions .edition-grid {grid-template-columns: 1fr}
}
@media print {
  .layout, .comparing-editions .layout {display: block; max-width: none; padding: 0}
}

.panel-heading {display:flex; align-items:center; justify-content:flex-end; position:relative}
.comparing-editions .panel-heading {min-height:2.75rem; padding-inline:.8rem; gap:.6rem; border-bottom:1px solid var(--line)}
.comparing-editions .panel-label {margin-right:auto; padding:.5rem 0; border:0}
.align-reading {display:none}
.comparing-editions .align-reading,.related-passages summary {
  color:var(--teal); border:0; background:transparent; padding:.3rem .4rem;
  font:var(--small)/1.4 var(--sans); cursor:pointer; border-radius:.45rem;
}
.comparing-editions .align-reading {display:block}
.align-reading:hover,.align-reading:focus-visible,.related-passages summary:hover {background:var(--wash)}
.panel-heading .related-passages {margin:0; border:0; background:transparent}
.related-passages summary::before {content:none}
.panel-heading .counterparts {position:absolute; top:100%; right:0; z-index:3; margin:0; display:grid;
  gap:.5rem; max-width:100%; width:max-content; background:var(--paper); border:1px solid var(--line); border-radius:.45rem; padding:.7rem}
.comparing-editions .edition-scroll {position:relative; touch-action:manipulation}
.reading-flash {
  position:absolute; inset-inline:.4rem; pointer-events:none; z-index:2; border-radius:.7rem;
  background:rgba(67,138,131,.14); box-shadow:0 0 0 1px rgba(55,116,110,.13), 0 1px 7px rgba(55,116,110,.07);
  animation:reading-pulse 1s ease-out both;
}
@keyframes reading-pulse {0%{opacity:0} 12%,56%{opacity:1} 100%{opacity:0}}
@media (prefers-reduced-motion:reduce) {.reading-flash{animation:none}}
@media (pointer:coarse) {.align-hint{display:none}}
