.reader-layer {
  max-width: 940px;
  margin: 1rem auto 2rem;
  padding: 1rem 1.25rem;
  border-left: 4px solid #b77b2d;
  background: #f4f0e8;
  color: #17212a;
  font-family: system-ui, sans-serif;
}

.reader-layer p { margin: .4rem 0; }
.reader-layer .reader-kicker { color: #6f2228; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.reader-layer nav { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin: .55rem 0; }
.reader-layer a { color: #165f5c; font-weight: 750; text-underline-offset: .18em; }
.reader-layer .reader-language-choice,
.reader-layer .reader-access-note { color: #44525c; font-size: .88rem; }
.reader-guided-path { margin: 1rem 0; padding: .9rem 1rem; border: 1px solid #d6c6ae; background: #fffdf9; }
.reader-section-label { color: #6f2228; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.reader-guided-path ol { display: grid; grid-template-columns: repeat(4, minmax(9rem, 1fr)); gap: .5rem; margin: .6rem 0 0; padding: 0; list-style-position: inside; }
.reader-guided-path li { padding: .3rem .15rem; font-size: .9rem; }
.reader-more-guides { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: .75rem 0; }
.reader-search { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #d6c6ae; }
.reader-search label { display: block; margin-bottom: .35rem; color: #17212a; font-size: .9rem; font-weight: 750; }
.reader-search input { width: min(100%, 32rem); min-height: 2.5rem; padding: .45rem .65rem; border: 1px solid #71808a; border-radius: .2rem; color: #17212a; font: inherit; }
.reader-search-status { min-height: 1.35rem; color: #44525c; font-size: .85rem; }
.reader-search-results { display: grid; gap: .35rem; margin: .35rem 0 0; padding: 0; list-style: none; }
.reader-search-results li { padding: .55rem .7rem; border-left: 3px solid #b77b2d; background: #fffdf9; }
.reader-search-results a { display: block; }
.reader-search-results span { display: block; margin-top: .12rem; color: #44525c; font-size: .8rem; }
.reader-pending-link { color: #4d5860; }
.reader-pending-label { font-size: .85em; font-weight: 750; }

@media (max-width: 600px) {
  .reader-layer { margin: .5rem .65rem 1.5rem; }
  .reader-layer nav { display: grid; }
  .reader-guided-path ol { grid-template-columns: 1fr; }
}

@media print {
  .reader-layer { display: none; }
}
