html[data-theme="sepia"] { --cream:#eee4d2; --paper:#fff4de; --ink:#413423; --ink-soft:#584936; --muted:#756451; --rule:#d8c6a5; --bg-alt:#f0e3cc; }
html[data-theme="dark"] { --cream:#111820; --paper:#1b2632; --ink:#e1e7ee; --ink-soft:#cbd6e1; --muted:#abbacf; --rule:#3b4d60; --rule-warm:#3b4d60; --bg-alt:#29394a; --navy:#a8d2ff; --navy-light:#c5e1ff; }
html[data-theme="dark"] .hero, html[data-theme="dark"] .topbar { background:#062b50; }
html[data-theme="dark"] .book-menu summary { background:#123d63; }
html[data-theme="dark"] .book-menu-list a[aria-current="page"] { background:#3c3d24; }
html[data-theme="dark"] .text p.attrib, html[data-theme="dark"] .colophon { color:var(--muted); }
html[data-theme="dark"] .goto select, html[data-theme="dark"] .textsize button { background:var(--paper); color:var(--ink); }
.reader-tools-button { min-height:44px; padding:9px 14px; border:1px solid #9fb0c8; border-radius:6px; background:var(--paper); color:var(--navy); font:600 14px/1.4 var(--ui,system-ui); cursor:pointer; }
.reader-tools-bar { position:sticky; top:0; z-index:24; padding:8px 20px; text-align:right; background:var(--paper); border-bottom:1px solid var(--rule); }
.reading-dialog { width:min(760px,calc(100% - 28px)); max-height:85vh; padding:24px 28px; border:1px solid var(--rule); border-radius:10px; background:var(--paper,#fff); color:var(--ink,#23384b); box-shadow:0 18px 60px rgba(0,20,40,.35); font:16px/1.55 var(--body,Georgia); }
.reading-dialog::backdrop { background:rgba(0,15,35,.65); }
.tools-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.tools-heading h2 { margin:0; color:var(--navy); font:600 28px/1.3 var(--serif,Georgia); }
.reading-dialog button { min-height:42px; padding:9px 13px; border:1px solid #9fb0c8; border-radius:5px; background:var(--paper,#fff); color:var(--navy,#003366); font:600 14px/1.4 var(--ui,system-ui); cursor:pointer; }
.reading-dialog button:hover { background:var(--bg-alt,#eef2f8); }
.reading-dialog button:disabled { opacity:.5; cursor:default; }
.reading-dialog input { width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid #9fb0c8; border-radius:5px; background:var(--paper,#fff); color:var(--ink,#23384b); font:16px/1.4 var(--ui,system-ui); }
.tools-message { font:14px/1.5 var(--ui,system-ui); color:var(--navy); margin:12px 0 0; }
.tools-message:empty { display:none; }
.tools-section { border-top:1px solid var(--rule,#d8dfe5); margin-top:22px; padding-top:20px; }
.tools-section h3 { font:600 20px/1.3 var(--serif,Georgia); color:var(--navy); margin:0 0 12px; }
.tools-hint { color:var(--muted); font-size:14px; margin:0 0 12px; }
.theme-options,.tools-input-row,.search-controls { display:flex; align-items:center; gap:8px; }
.theme-options button { flex:1; }
.theme-options button[aria-pressed="true"] { border:2px solid var(--navy); box-shadow:inset 0 -3px 0 var(--navy); }
.tools-input-row input { flex:1; }
.tools-input-row button { flex-shrink:0; }
.search-controls { margin-top:10px; flex-wrap:wrap; }
.search-controls p { margin:0 auto 0 0; font-size:14px; color:var(--muted); }
.tools-list { list-style:none; margin:14px 0 0; padding:0; }
.tools-list li { display:flex; align-items:center; gap:10px; padding:8px 0; border-top:1px solid var(--rule); }
.reading-dialog .saved-place { flex:1; text-align:left; border:0; font:15px/1.5 var(--body,Georgia); }
.search-results { max-height:260px; overflow-y:auto; }
.reader-block, .book-search-hit { scroll-margin-top:150px; }
.book-search-hit { background:#ffde66; color:#182b3d; padding:0; }
.active-search-hit { background:#ffac47; outline:2px solid #9f5900; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:600px) {
  .bookbar-inner { flex-wrap:wrap; }
  .bookbar-inner .reader-tools-button { flex-basis:100%; }
  .reading-dialog { padding:18px 16px; }
  .tools-input-row { flex-wrap:wrap; }
  .tools-input-row input { flex-basis:100%; }
  .tools-heading h2 { font-size:24px; }
}
@media print { .reader-tools-button,.reader-tools-bar,.reading-dialog { display:none!important; } }
.search-match-bar { position:fixed; bottom:18px; left:50%; transform:translateX(-50%); z-index:26; display:flex; align-items:center; justify-content:center; gap:8px; max-width:calc(100% - 24px); padding:10px 12px; background:var(--paper); color:var(--ink); border:1px solid var(--rule); border-radius:8px; box-shadow:0 6px 24px rgba(0,20,40,.25); font:14px/1.4 var(--ui); }
.search-match-bar span { white-space:nowrap; }
.search-match-bar button { min-height:38px; padding:7px 10px; background:var(--paper); color:var(--navy); border:1px solid #9fb0c8; border-radius:4px; cursor:pointer; font:600 13px/1.4 var(--ui); }
.search-match-bar button:hover { background:var(--bg-alt); }
@media(max-width:600px) { .search-match-bar { flex-wrap:wrap; width:calc(100% - 24px); bottom:10px; } .search-match-bar span { flex-basis:100%; text-align:center; } }
@media print { .search-match-bar { display:none!important; } }
html[data-reader-width="narrow"] { --reader-measure:560px; }
html[data-reader-width="standard"] { --reader-measure:700px; }
html[data-reader-width="wide"] { --reader-measure:820px; }
.text, .has-topmenu .text { max-width:var(--reader-measure,var(--measure)); }
.layout-single { max-width:calc(var(--reader-measure,700px) + 200px); }
html[data-reader-spacing="relaxed"] .text, html[data-reader-spacing="relaxed"] .has-topmenu .text { line-height:1.95; }
html[data-reader-spacing="wide"] .text, html[data-reader-spacing="wide"] .has-topmenu .text { line-height:2.15; }
.preference-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.preference-fields label { font:600 14px/1.5 var(--ui); }
.preference-fields select { display:block; width:100%; margin-top:7px; padding:10px; min-height:44px; background:var(--paper); color:var(--ink); border:1px solid #9fb0c8; border-radius:5px; font:16px/1.4 var(--ui); }
.reading-dialog textarea { display:block; width:100%; padding:12px; background:var(--paper); color:var(--ink); border:1px solid #9fb0c8; border-radius:5px; resize:vertical; font:16px/1.5 var(--body); margin-bottom:10px; }
.selection-quote { font-size:14px; color:var(--muted); border-left:3px solid var(--rule); padding-left:12px; }
.annotation-list { max-height:300px; overflow-y:auto; }
.annotation-list li { display:block; }
.annotation-actions { display:flex; gap:8px; margin-top:8px; }
.annotation-note { margin:6px 12px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:15px; }
.reader-highlight { background:#ffe89a; color:#273342; cursor:pointer; }
html[data-theme="dark"] .reader-highlight { background:#685520; color:#fff4c6; }
.selection-actions { position:fixed; bottom:90px; left:50%; transform:translateX(-50%); z-index:27; display:flex; gap:8px; max-width:calc(100% - 24px); background:var(--paper); border:1px solid var(--rule); border-radius:8px; padding:10px; box-shadow:0 6px 24px rgba(0,20,40,.25); }
.selection-actions button { min-height:44px; white-space:nowrap; padding:10px 12px; color:var(--navy); background:var(--paper); border:1px solid #9fb0c8; border-radius:4px; cursor:pointer; font:600 14px/1.4 var(--ui); }
.tools-shelf-link { font-size:14px; display:inline-block; margin-top:10px; }
#offlineDownloadStatus { font-size:14px; color:var(--muted); }
@media(max-width:600px) { .bookbar-inner .reader-tools-button { order:3; } .bookbar-inner .textsize { order:2; } .bookbar-inner .goto { order:1; } .preference-fields { grid-template-columns:1fr; } }
@media print { .selection-actions { display:none!important; } }

.tools-heading { position:sticky; top:-24px; z-index:2; padding:8px 0; background:var(--paper); }
@media(max-width:600px) { .tools-heading { top:-18px; } }
