:root { font-family: Arial, sans-serif; font-size: 17px; line-height: 1.5; color: #000; background: #fff; color-scheme: light; }
* { box-sizing: border-box; }
body { margin: 0; }
.page { max-width: 1180px; margin: 0 auto; padding: 25px 32px 64px; }
a, button.link { color: #000; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
a:visited { color: #000; }
a:hover, button.link:hover { text-decoration-thickness: 2px; }
button.link { border: 0; background: none; padding: 0; font: inherit; text-align: left; }
:focus-visible { outline: 2px solid #000; outline-offset: 4px; }
h1 { font-size: 28px; line-height: 1.2; margin: 30px 0 14px; }
h2 { font-size: 21px; line-height: 1.35; margin: 0 0 8px; }
h3 { font-size: 17px; line-height: 1.4; margin: 0 0 8px; }
h4 { font-size: 17px; margin: 20px 0 8px; }
p { margin: 0 0 10px; }
.topline { display: flex; flex-wrap: wrap; gap: 6px 24px; font-size: 14px; }
.topline span { margin-right: auto; }
.source-intro { margin-bottom: 24px; font-size: 15px; }
.modes { display: flex; flex-wrap: wrap; gap: 8px 26px; margin: 0 0 22px; }
.modes [aria-pressed="true"] { font-weight: bold; text-decoration: none; }
.search { max-width: 72ch; margin: 0 0 30px; }
.search label, .book-filter label { font-size: 15px; }
.search label { display: block; margin-bottom: 6px; }
.search-line { display: flex; align-items: center; gap: 16px; }
.search input, select { min-width: 0; padding: 6px 8px; border: 1px solid #000; border-radius: 0; background: #fff; color: #000; font: inherit; }
.search input { width: 100%; max-width: 370px; }
.book-filter { margin-bottom: 15px; }
.book-filter select { margin-left: 8px; max-width: 100%; }
.search-status { font-size: 15px; margin: -16px 0 24px; }
main { max-width: 100%; }
.entry, .concept, .author-profile, .book-entry { margin-bottom: 30px; scroll-margin-top: 24px; }
.entry, .author-profile, .book-entry, .essay-content { max-width: 72ch; }
.concept > p, .concept > h2 { max-width: 72ch; }
.entry h2, .concept h2 { font-size: 18px; }
.entry h2 a, .concept h2 a { font-weight: bold; }
.concept-authors { font-size: 15px; }
.concept-details { margin-top: 23px; }
.variants { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 44px; max-width: 1060px; }
.variant { min-width: 0; max-width: 72ch; scroll-margin-top: 24px; }
.variant:focus { outline: none; }
.variant:focus-visible h3 a { outline: 2px solid #000; outline-offset: 4px; }
.variant .readings { font-size: 15px; margin-top: 13px; }
.variant .readings p { margin-bottom: 7px; }
.variant-links { font-size: 15px; margin-top: 15px; }
.difference { max-width: 72ch; margin: 23px 0 18px; }
.difference h3 { margin-bottom: 6px; }
.under-concept { margin-top: 18px; max-width: 72ch; }
.basis { max-width: 72ch; margin: 15px 0; font-size: 15px; }
.basis summary { cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.basis ul { padding-left: 20px; margin: 12px 0 0; }
.basis li { margin-bottom: 12px; }
.basis .source-scope { display: block; margin-top: 3px; }
.author-profile > p { margin-bottom: 14px; }
.author-profile ul, .book-entry ul { margin: 0 0 18px; padding-left: 20px; }
.author-profile li { margin-bottom: 8px; }
.author-profile h3 { margin-top: 22px; }
.relation-entry { margin-bottom: 18px; }
.relation-entry h4 { margin: 0 0 7px; font-weight: normal; }
.relation-entry .basis { margin-top: 5px; }
.book-meta, .original-title, .language-note { font-size: 15px; }
.book-meta { margin-bottom: 8px; }
.original-title { margin-top: -2px; }
.book-entry h2 { font-size: 19px; }
.book-entry .basis { margin-top: 10px; }
.section-heading { margin: 32px 0 20px; font-size: 21px; }
.essay-nav { display: flex; flex-wrap: wrap; gap: 7px 23px; font-size: 15px; margin: 0 0 23px; }
.entry .relation { font-size: 15px; margin-bottom: 7px; }
.entry .entry-action { font-size: 15px; }
.entry-details { margin-top: 14px; padding-left: 16px; border-left: 1px solid #000; }
.entry-details blockquote { margin: 0 0 5px; }
.evidence { margin: 12px 0 16px; }
.evidence-source { font-size: 14px; overflow-wrap: anywhere; }
.related { margin-bottom: 9px; }
.note { font-size: 15px; margin-top: 14px; }
.source-heading { font-size: 21px; margin: 0 0 12px; }
.source-meta { font-size: 15px; margin-bottom: 22px; overflow-wrap: anywhere; }
.return-link { margin-bottom: 20px; }
.source-line { max-width: 78ch; display: grid; grid-template-columns: 2.5em minmax(0, 1fr); gap: 10px; margin: 0 0 15px; scroll-margin-top: 24px; }
.source-number { color: #000; font-size: 14px; padding-top: 2px; text-align: right; }
.source-line p { white-space: pre-wrap; overflow-wrap: anywhere; margin: 0; }
.source-line.is-target p { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.source-line:focus { outline: 2px solid #000; outline-offset: 4px; }
[hidden] { display: none !important; }
@media (max-width: 750px) {
  .page { padding: 22px 20px 45px; }
  .topline span { flex-basis: 100%; }
  h1 { margin-top: 26px; }
  .modes { gap: 8px 20px; }
  .search-line { align-items: flex-start; flex-direction: column; gap: 8px; }
  .search input { max-width: 100%; }
  .entry-details { padding-left: 13px; }
  .variants { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .source-line { grid-template-columns: 1.8em minmax(0, 1fr); gap: 9px; }
}

/* Dedicated author documents share the dictionary's typography. */
.author-page-layout { display: grid; grid-template-columns: 205px minmax(0, 1fr); gap: 42px; align-items: start; margin-top: 34px; }
[data-author-directory] { display: flex; flex-direction: column; gap: 13px; position: sticky; top: 24px; font-size: 15px; }
[data-author-directory] [aria-current="page"] { font-weight: bold; text-decoration: none; }
.author-page-layout > aside { position: sticky; top: 24px; }
.author-intro { font-size: 19px; margin-bottom: 30px !important; }
body[data-page="author"] .author-profile { max-width: 72ch; }
body[data-page="author"] .author-profile h2 { margin: 34px 0 18px; scroll-margin-top: 24px; }
body[data-page="author"] .book-entry { margin: 0 0 28px; }
body[data-page="author"] .book-entry h2 { font-size: 18px; margin: 0 0 8px; }
@media(max-width:750px) {
  .author-page-layout { display: flex; flex-direction: column; gap: 32px; }
  .author-page-layout > aside { position: static; order: 2; border-top: 1px solid #ddd; padding-top: 24px; width: 100%; }
  [data-author-directory] { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 22px; }
}

.concept-materials { margin: 25px 0; max-width:72ch; font-size:15px; }
.concept-materials ul { padding-left:20px; }
.concept-materials li { margin-bottom:9px; }
.material-entry { max-width:72ch; margin:24px 0; scroll-margin-top:24px; }
.material-entry h3 { font-size:18px; margin-bottom:8px; }
.material-meta, .material-note { font-size:14px; }
.material-group { max-width:72ch; margin:32px 0; }
.material-group > summary { font-size:19px; cursor:pointer; text-decoration:underline; }
.material-group > p { margin-top:15px; }
.materials-nav { font-size:15px; margin:15px 0 24px; }

.material-note, .material-group > p { overflow-wrap:anywhere; }

/* Compact bibliography: one quiet row per work, detail on demand. */
.book-entry { border-bottom: 1px solid #ddd; margin: 0; max-width: 760px; }
body[data-page="author"] .book-entry { margin: 0; }
.book-entry > summary { display: block; position: relative; list-style: none; cursor: pointer; padding: 20px 42px 20px 0; }
.book-entry > summary::-webkit-details-marker { display: none; }
.book-entry > summary::after { content: '+'; position: absolute; right: 8px; top: 20px; font-size: 23px; font-weight: normal; line-height: 1.2; color: #777; }
.book-entry[open] > summary::after { content: '−'; }
.book-title { display: block; font-size: 18px; line-height: 1.4; font-weight: 500; }
.book-entry > summary:hover .book-title { text-decoration: underline; text-underline-offset: 3px; }
.book-summary-meta { display: block; font-size: 13px; line-height: 1.5; color: #666; margin-top: 6px; }
.book-content { padding: 0 42px 24px 0; font-size: 16px; line-height: 1.55; }
.book-content .original-title { margin: 0 0 12px; font-size: 14px; color: #555; }
.book-content .language-note,.book-content .related { font-size: 14px; }
.author-heading { display: flex; justify-content: space-between; align-items: center; gap: 30px; margin: 28px 0 20px; max-width: 1000px; }
.author-heading h1 { margin: 0; }
[data-author-portrait] { width: 180px; height: auto; display: block; flex: 0 0 auto; }
@media(max-width:650px){.book-entry > summary{padding:18px 30px 18px 0;}.book-title{font-size:17px;}.book-content{padding-right:0;}.book-entry > summary::after{right:1px;top:17px;}.author-heading{gap:18px;}.author-heading h1{font-size:25px;}[data-author-portrait]{width:118px;}}
