:root{
  color-scheme:light;
  --paper:#f5f2eb;
  --paper-raised:#fbfaf6;
  --ink:#222;
  --muted:#6f6a62;
  --line:#d8d2c8;
  --link:#4f6d8a;
  --link-dark:#1f4f75;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
}
button,select{font:inherit}
.reader-shell{
  width:min(100%,860px);
  margin:0 auto;
  padding:34px 24px 48px;
}
.reader-header{
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
}
.reader-kicker{
  color:var(--muted);
  font-size:.72rem;
  font-weight:bold;
  letter-spacing:.09em;
}
.reader-book-title{
  max-width:720px;
  margin:.35rem 0 .15rem;
  font-size:clamp(1.45rem,4vw,2.25rem);
  font-weight:bold;
  line-height:1.18;
}
.reader-author{color:var(--muted);font-style:italic}
.reader-tools{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-top:22px;
}
.reader-section-picker{
  display:grid;
  gap:5px;
  min-width:min(100%,320px);
  color:var(--muted);
  font-size:.82rem;
}
.reader-section-picker select{
  width:100%;
  min-height:42px;
  padding:7px 34px 7px 10px;
  border:1px solid #c9c3b8;
  border-radius:8px;
  background:var(--paper-raised);
  color:var(--ink);
}
.reader-radio{
  min-width:255px;
  text-align:right;
}
.reader-radio__controls{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
.reader-radio button,.reader-nav button{
  min-height:42px;
  padding:8px 12px;
  border:1px solid #c9c3b8;
  border-radius:8px;
  background:var(--paper-raised);
  color:#314f69;
  cursor:pointer;
}
.reader-radio button:first-child{border-color:var(--link);font-weight:bold}
.reader-radio button:hover,.reader-nav button:hover{
  border-color:#8ea1b1;
  background:#f0ede5;
}
.reader-radio button:disabled,.reader-nav button:disabled{opacity:.45;cursor:not-allowed}
.reader-radio__title{
  margin-top:6px;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.35;
}
.reader-main{max-width:720px;margin:0 auto;padding-top:46px}
.reader-chapter-head{margin-bottom:2.2rem;text-align:center}
.reader-progress{
  color:var(--muted);
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
#section-title{
  margin:.35rem 0 0;
  font-size:clamp(1.65rem,5vw,2.35rem);
  line-height:1.2;
}
.reader-text{
  font-size:1.08rem;
  line-height:1.78;
}
.reader-text p{margin:0 0 1.08em}
.reader-text p:last-child{margin-bottom:0}
.reader-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:3.4rem 0 1rem;
  padding-top:1.35rem;
  border-top:1px solid var(--line);
}
.reader-nav button:last-child{text-align:right}
.reader-nav button:first-child{text-align:left}
.reader-footer{
  max-width:720px;
  margin:3.2rem auto 0;
  padding-top:1.2rem;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.78rem;
  line-height:1.5;
  text-align:center;
}
button:focus-visible,select:focus-visible{
  outline:2px solid var(--link);
  outline-offset:3px;
}
@media(max-width:650px){
  .reader-shell{padding:22px 17px 34px}
  .reader-tools{display:grid;align-items:stretch}
  .reader-section-picker{min-width:0}
  .reader-radio{text-align:left}
  .reader-radio__controls{justify-content:flex-start}
  .reader-main{padding-top:34px}
  .reader-text{font-size:1.04rem;line-height:1.72}
  .reader-chapter-head{margin-bottom:1.8rem}
}
@media(max-width:390px){
  .reader-radio__controls{display:grid;grid-template-columns:1fr 1fr}
  .reader-radio button{width:100%}
}
