:root{color-scheme:dark;--night:#17152b;--night2:#211d3d;--violet:#7664d8;--orange:#f5a64a;--paper:#fbf7ef;--ink:#292536;--muted:#8f899c;--blue:#3b82f6;--line:rgba(255,255,255,.09);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--night);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{color:#fff}.app-shell{min-height:100dvh;max-width:900px;margin:0 auto;padding-bottom:calc(18px + var(--safe-bottom));background:linear-gradient(145deg,#17152b 0%,#211d3d 55%,#292047 100%)}
.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(23,21,43,.94);backdrop-filter:blur(14px);z-index:5}.brand{display:flex;align-items:center;gap:9px;letter-spacing:.13em}.brand-mark{color:var(--orange);font-size:24px}.brand b{font-size:13px;display:block}.brand small{display:block;font-size:8px;color:#aaa2d4;letter-spacing:.24em;margin-top:3px}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;color:#fff;background:#ffffff0b;font-size:21px;cursor:pointer}.book-heading{padding:26px 22px 18px}.eyebrow{color:var(--orange);font-size:9px;letter-spacing:.2em;font-weight:800}.book-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,6vw,36px);line-height:1.13;margin:9px 0 7px;font-weight:600}.author{color:#b9b2d2;font-size:13px}.progress-line{height:3px;border-radius:8px;background:#ffffff20;margin-top:20px;overflow:hidden}.progress-line>div{height:100%;width:0;background:linear-gradient(90deg,var(--violet),var(--orange));transition:width .25s}.progress-label{font-size:10px;color:#a9a1c2;text-align:right;margin-top:7px}.reader-toolbar{display:flex;align-items:center;gap:9px;padding:0 18px 15px;position:sticky;top:64px;z-index:4;background:linear-gradient(180deg,#211d3d 80%,#211d3d00)}.toolbar-primary,.toolbar-button,.font-controls button{height:37px;border-radius:11px;border:1px solid #ffffff22;padding:0 12px;font-size:12px;font-weight:700;cursor:pointer}.toolbar-primary{background:linear-gradient(110deg,#8069e2,#5a48b4);color:#fff;border-color:#a99af4}.toolbar-button{background:#ffffff0b;color:#eee9ff}.toolbar-button span{background:#f4a64b;color:#241d37;border-radius:20px;padding:2px 6px;margin-left:3px}.font-controls{display:flex;gap:5px;margin-left:auto}.font-controls button{width:38px;padding:0;background:#ffffff0b;color:#fff}.reading-paper{margin:0 12px;background:var(--paper);color:var(--ink);border-radius:18px;padding:clamp(23px,6vw,52px) clamp(19px,6vw,66px);min-height:55vh;box-shadow:0 14px 40px #0003;font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.88;overflow-wrap:anywhere}.reading-paper p{margin:0 0 1.12em;text-indent:1.3em}.reading-paper p:first-child{text-indent:0}.sentence{border-radius:4px;transition:background .25s,box-shadow .25s}.sentence.highlight-blue{background:#bcd8ff;color:#113b74;box-shadow:0 0 0 3px #bcd8ff}.sentence.resume-glow{animation:resume 2.2s ease-out}@keyframes resume{0%{background:#d8c8ff;box-shadow:0 0 0 4px #d8c8ff}100%{background:transparent;box-shadow:none}}.loading{display:grid;place-items:center;min-height:42vh;color:#746c7e;font:13px Inter,sans-serif}.loader{width:30px;height:30px;border-radius:50%;border:3px solid #ddd3ef;border-top-color:#7966d8;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bottom-note{display:flex;justify-content:space-between;gap:10px;padding:15px 22px;color:#9f97bb;font-size:9px;letter-spacing:.07em}.bottom-note span:first-child{color:var(--orange);font-weight:900;letter-spacing:.2em}.drawer-backdrop{position:fixed;inset:0;background:#090815a8;z-index:9;opacity:0;pointer-events:none;transition:opacity .2s}.bookmarks-drawer{position:fixed;right:0;top:0;bottom:0;z-index:10;width:min(390px,90vw);padding:24px 18px calc(25px + var(--safe-bottom));background:#211d3d;box-shadow:-20px 0 50px #0004;transform:translateX(105%);transition:transform .25s;overflow:auto}.drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}.drawer-open .bookmarks-drawer{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.drawer-head h2{font-family:Georgia,serif;margin:6px 0 0;font-size:28px}.bookmark-list{display:grid;gap:10px}.bookmark-card{padding:13px;border:1px solid #ffffff18;border-radius:13px;background:#ffffff08}.bookmark-card p{font:13px/1.55 Georgia,serif;color:#eee9f6;margin:0 0 11px}.bookmark-actions{display:flex;justify-content:space-between;gap:10px}.bookmark-actions button{border:0;background:#ffffff12;color:#d7ceff;border-radius:9px;padding:8px 10px;font-size:11px}.bookmark-actions .delete{color:#ffb2a8}.empty-state{color:#aaa2c5;font-size:13px}.toast{position:fixed;left:50%;bottom:calc(23px + var(--safe-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#17152b;color:#fff;border:1px solid #ffffff25;padding:11px 15px;border-radius:13px;font:12px Inter,sans-serif;z-index:20;box-shadow:0 8px 25px #0005;transition:.2s;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
body.sepia .reading-paper{background:#f1e5d0;color:#3b3026}body.light-reader .reading-paper{background:#fff;color:#24212b}
@media(min-width:700px){.reading-paper{margin:0 24px}.book-heading{padding-left:34px;padding-right:34px}.reader-toolbar{padding-left:28px;padding-right:28px}}
