:root{color-scheme:light;--bg:#fbfaf7;--panel:#fff;--ink:#211f1b;--muted:#675f55;--line:#c9c1b7;--accent:#ae2929;--page-bg:#fff;--hud-bg:#171614e8;--hud-ink:#f3efe7;--hud-muted:#c9c1b6;--focus-size:72px}:root[data-theme=dark]{color-scheme:dark;--bg:#171614;--panel:#23211e;--ink:#eee9df;--muted:#aaa198;--line:#504b45;--accent:#e05b54;--page-bg:#171614;--hud-bg:#11100fee;--hud-ink:#f3efe7;--hud-muted:#c9c1b6}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}button,.file-label{border:1px solid var(--line);border-radius:999px;background:transparent;color:inherit;padding:.62rem .95rem;font:inherit;cursor:pointer}button:hover,.file-label:hover{border-color:var(--accent)}button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}.primary{background:var(--accent);border-color:var(--accent);color:white;min-width:94px}
main{min-height:100vh;max-width:1500px;margin:auto;padding:24px 5vw;display:flex;flex-direction:column}header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.eyebrow{margin:0 0 5px;color:var(--accent);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.reader-home{color:inherit;text-decoration:none}.reader-home:hover,.reader-home:focus-visible{text-decoration:underline;text-underline-offset:.25em}h1{margin:0;font:600 clamp(1.15rem,2vw,1.6rem)/1.2 Georgia,serif}.author{margin:.25rem 0 0;color:var(--muted)}.header-actions{display:flex;gap:8px;flex-shrink:0}.help-button{width:2.8rem;padding:.62rem 0;font-weight:700}
.focus-view{position:relative;height:38vh;min-height:265px;overflow:hidden}.guide{position:absolute;left:50%;top:22%;bottom:22%;border-left:1px solid color-mix(in srgb,var(--accent) 38%,transparent)}.word-line{position:absolute;left:50%;top:50%;white-space:nowrap;font:var(--focus-size)/1.18 Georgia,serif;transform:translateY(-50%)}.token{display:inline-block;margin-right:.28em;transition:opacity 40ms linear}.token.current{font-weight:700;color:var(--ink)}
.page-view{height:58vh;min-height:430px;margin:18px 0;background:var(--page-bg);border:1px solid var(--line);border-radius:14px;overflow:hidden}.page-view iframe{width:100%;height:100%;border:0;background:var(--page-bg)}.image-view{min-height:58vh;text-align:center;padding:20px}.image-view img{max-width:100%;max-height:50vh;object-fit:contain}.image-view p{color:var(--muted)}.continue-hint{font-size:.8rem}
.footnote-popover{position:fixed;z-index:30;width:min(430px,calc(100vw - 28px));max-height:min(45vh,360px);overflow:auto;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);box-shadow:0 14px 45px #0006;font:1rem/1.5 Georgia,serif}.footnote-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.footnote-heading strong{color:var(--accent);font-size:.82rem}.footnote-heading button{padding:.16rem .52rem;border:0;font-size:1.25rem;line-height:1}.footnote-popover p{margin:0}
.readout{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:5px 24px;color:var(--muted);font-size:.82rem}.readout strong{color:var(--accent);text-align:center}.readout span:nth-child(3n){text-align:right}.readout span:nth-child(n+4){font-size:.74rem}input[type=range]{width:100%;accent-color:var(--accent)}#progress{margin:14px 0 20px}.transport{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap}.transport button{display:flex;gap:6px;align-items:center}.transport button span{font-size:.75rem}.context-panel{max-width:880px;width:100%;margin:24px auto 0;background:var(--panel);border:1px solid color-mix(in srgb,var(--line) 65%,transparent);border-radius:14px;padding:15px 20px}.context-heading{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.context-heading button{padding:.3rem .7rem;font-size:.72rem}.context-panel p{font:1.03rem/1.75 Georgia,serif;margin:12px 0 2px}.context-panel mark{background:var(--accent);color:#fff;border-radius:3px;padding:.08em .18em;font-weight:700;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 72%,white)}
.wpm-readout{display:flex;justify-content:center;gap:18px}.wpm-readout span{white-space:nowrap}.wpm-readout strong{margin-left:.25em}.readout>span:nth-child(3){text-align:right}
footer{text-align:center;color:var(--muted);font-size:.72rem;margin-top:auto;padding-top:22px}dialog{width:min(860px,92vw);border:0;border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:0 25px 85px #0007}dialog::backdrop{background:#171512ad}dialog h2{margin-top:0}dialog p{color:var(--muted)}textarea{width:100%;height:38vh;padding:15px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:1rem/1.5 Georgia,serif}.recent-panel{margin:0 0 16px}.recent-panel h3{margin:0 0 8px;font-size:.78rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.recent-books{display:grid;gap:7px}.recent-book{width:100%;border-radius:10px;padding:.7rem .85rem;text-align:left;display:flex;justify-content:space-between;gap:14px}.recent-book span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-book small{color:var(--muted);white-space:nowrap}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}.file-label input{display:none}.error{color:var(--accent)!important}
@media(max-width:700px){main{padding:17px}.word-line{font-size:min(var(--focus-size),52px)}.focus-view{height:43vh}.transport button span{display:none}.context-panel{padding:12px 15px}.page-view{height:65vh}footer{display:none}}
body.cover-display{background:#000;overflow:hidden}body.cover-display main{max-width:none;width:100vw;height:100vh;min-height:100vh;padding:0}body.cover-display header,body.cover-display .readout,body.cover-display #progress,body.cover-display .transport,body.cover-display .context-panel,body.cover-display footer{display:none!important}body.cover-display .page-view{display:block!important;width:100vw;height:100vh;min-height:100vh;margin:0;border:0;border-radius:0;background:#000}body.cover-display .page-view iframe{display:block;width:100%;height:100%;background:#000}
body.page-display{overflow:hidden}body.page-display main{max-width:none;width:100vw;height:100vh;min-height:100vh;padding:0}body.page-display header,body.page-display .readout,body.page-display #progress,body.page-display .transport,body.page-display .context-panel,body.page-display footer{display:none!important}body.page-display .page-view{display:block!important;width:100vw;height:100vh;min-height:100vh;margin:0;border:0;border-radius:0;background:var(--page-bg)}body.page-display .page-view iframe{display:block;width:100%;height:100%;background:var(--page-bg)}.page-hud{position:fixed;z-index:10;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 28px);padding:8px 10px;border:1px solid #ffffff4a;border-radius:999px;background:var(--hud-bg);color:var(--hud-ink);box-shadow:0 8px 30px #0006;backdrop-filter:blur(12px);font-size:.78rem}.page-hud div{display:flex;flex-direction:column;min-width:150px}.page-hud div span,.page-hud>span{color:var(--hud-muted);font-size:.7rem;white-space:nowrap}.page-hud button{border-color:#ffffff42;padding:.48rem .72rem}.page-hud button:hover{border-color:#fff}
body.cover-display .page-hud{display:none!important}@media(max-width:760px){.page-hud>span,.page-hud div,.page-hud #pageOpenBook{display:none}.page-hud{bottom:8px;gap:4px}.page-hud button{padding:.45rem .56rem}}
