:root{font-family:Arial,sans-serif;color:#253c30;background:#faf9f5}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,select{font:inherit;color:inherit;background:transparent;border:1px solid #cbd3c4;border-radius:6px;padding:10px;cursor:pointer}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.reader-header{padding:24px max(20px,calc((100% - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #d9ded3;font-size:13px}.reader-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%}main{max-width:960px;margin:auto;padding:28px 24px 70px}.reader-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.reader-tools label{display:grid;gap:6px;font-size:12px;max-width:100%;min-width:0}.reader-tools select{max-width:420px;width:100%;font-size:13px}.reader-tools>div{display:flex;gap:8px}.reader-content{max-width:720px;margin:35px auto;font:20px/1.85 Georgia,serif;overflow-wrap:anywhere;min-height:200px}.reader-content h2{font-size:1.45em;line-height:1.4;margin:1.5em 0 .8em}.reader-content p{margin:0 0 1.1em}.reader-content img{display:block;max-width:100%;max-height:75vh;object-fit:contain;margin:22px auto}.reader-navigation{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:13px}.reader-saved{font-size:11px;color:#76816e;min-height:15px}.font-0 .reader-content{font-size:16px}.font-1 .reader-content{font-size:18px}.font-3 .reader-content{font-size:23px}.font-4 .reader-content{font-size:26px}.night{background:#19231e;color:#e1e5d7}.night button,.night select{border-color:#5d6c60;background:#233128}.night .reader-saved{color:#b5bda9}#reader-message{padding:35px 0;line-height:1.8}#reader-message a{display:inline-block;margin:15px 15px 0 0}@media(max-width:600px){main{padding:20px 18px 45px}.reader-header{padding:18px;gap:12px}.reader-header strong{display:none}.reader-tools{gap:15px}.reader-tools label{width:100%}.reader-tools select{max-width:none}.reader-content{font-size:19px}.reader-navigation{flex-wrap:wrap}.reader-navigation span{order:3;flex-basis:100%;text-align:center}}

.pdf-notice{padding:14px 18px;border-left:3px solid #8c9d70;background:#eef1e7;font:14px/1.6 Arial,sans-serif}.night .pdf-notice{background:#29362d}.pdf-reading main{max-width:1200px}.pdf-reading .reader-content{max-width:none;overflow:auto;line-height:1;margin:24px auto}.pdf-reading canvas{display:block;margin:0 auto;background:white;max-width:none}.pdf-reading .reader-tools>div{flex-wrap:wrap}.pdf-reading .reader-tools{position:sticky;top:0;z-index:2;background:#faf9f5;padding:10px 0}.night.pdf-reading .reader-tools{background:#19231e}

.reader-audio-chapter{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;margin:22px 0;background:#edf2e5;border:1px solid #d4dfc9;border-radius:12px}.reader-audio-chapter div{display:grid;gap:6px}.reader-audio-chapter small{font-size:9px;letter-spacing:1.2px;color:#617456}.reader-audio-chapter strong{font-size:14px;line-height:1.4}.reader-audio-chapter a{flex-shrink:0;background:#28513b;color:white;padding:12px 16px;border-radius:8px;text-decoration:none;font-size:13px}.night .reader-audio-chapter{background:#273d2e;border-color:#47604c}.night .reader-audio-chapter small{color:#bac9ae}.reader-header{flex-wrap:wrap}@media(max-width:600px){.reader-audio-chapter{align-items:stretch;flex-direction:column;gap:14px}.reader-audio-chapter a{text-align:center}.reader-header{gap:14px}.reader-header strong{max-width:100%;order:3;flex-basis:100%}}

.reader-pdf-page { position: relative; margin-inline: auto; overflow: hidden; }
.reader-pdf-text {
  position: absolute; inset: 0; overflow: clip; line-height: 1; text-align: initial;
  text-size-adjust: none; -webkit-text-size-adjust: none; forced-color-adjust: none;
  transform-origin: 0 0; --scale-round-x: 1px; --scale-round-y: 1px;
}
.reader-pdf-text[data-main-rotation="90"] { transform: translateX(var(--page-width)) rotate(90deg); }
.reader-pdf-text[data-main-rotation="180"] { transform: translate(var(--page-width), var(--page-height)) rotate(180deg); }
.reader-pdf-text[data-main-rotation="270"] { transform: translateY(var(--page-height)) rotate(270deg); }
.reader-pdf-text span, .reader-pdf-text br {
  color: transparent; position: absolute; white-space: pre; cursor: text;
  transform-origin: 0 0; overflow-wrap: normal;
  font-size: calc(var(--total-scale-factor) * var(--font-height, 0px) * var(--min-font-size));
  transform: rotate(var(--rotate, 0deg)) scaleX(var(--scale-x, 1)) scale(calc(1 / var(--min-font-size)));
}
.reader-pdf-text ::selection { color: transparent; background: #69a8ff80; }
::highlight(reader-notes) { background-color: #eebd4370; }
.reader-tools > div { align-items: center; flex-wrap: wrap; }
#reader-note-selection { position: fixed; z-index: 5; bottom: max(16px, env(safe-area-inset-bottom)); right: 16px; background: #28513b; color: white; }
.reader-notes { border-top: 1px solid #8c9d70; margin-top: 32px; padding-top: 16px; }
.reader-note-tools { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
#reader-note-list { list-style: none; padding: 0; }
#reader-note-list li { padding: 16px 0; border-bottom: 1px solid #8c9d70; }
#reader-note-list button { margin: 0 8px 0 0; }
.reader-notes blockquote, #reader-note-dialog blockquote { margin: 8px 0; padding-left: 12px; border-left: 3px solid #8c9d70; overflow-wrap: anywhere; white-space: pre-wrap; }
#reader-note-list p { white-space: pre-wrap; overflow-wrap: anywhere; }
#reader-note-dialog { width: min(560px, calc(100% - 32px)); max-height: 85vh; padding: 20px; border: 1px solid #8c9d70; border-radius: 10px; background: #faf9f5; color: #253c30; }
.night #reader-note-dialog { background: #19231e; color: #e1e5d7; }
#reader-note-dialog::backdrop { background: #14231b88; }
#reader-note-dialog textarea { display: block; width: 100%; margin-top: 8px; padding: 10px; font: inherit; color: inherit; background: transparent; border: 1px solid #8c9d70; border-radius: 6px; }

::highlight(reader-shared-notes) { background-color: #70b5c270; }
#reader-shared-notes { margin-top: 32px; border-top: 1px solid #8c9d70; scroll-margin-top: 110px; }
#reader-shared-list { list-style: none; padding: 0; }
#reader-shared-list li { padding: 12px 0; border-bottom: 1px solid #8c9d70; }
#reader-shared-list p { white-space: pre-wrap; overflow-wrap: anywhere; }
