:root{--bg-color:#fbf9f8;--text-color:#1b1c1c}.theme-paper{--bg-color:#fdfbf7;--text-color:#1b1c1c}.theme-sepia{--bg-color:#f4ecd8;--text-color:#433422}.theme-dark{--bg-color:#18181b;--text-color:#e4e4e7}.theme-oled{--bg-color:#000;--text-color:#d4d4d8}body{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;overscroll-behavior-y:none;transition:background-color .4s,color .4s}#viewer{-webkit-user-select:text;user-select:text;width:100%!important;height:100%!important;overflow:hidden!important}#viewer iframe{border:none!important;width:100%!important;height:100%!important}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 350, "GRAD" 0, "opsz" 24}.theme-btn.active{ring:2px solid var(--text-color);outline:2px solid var(--text-color);outline-offset:2px}.drawer-open{transform:translate(340px)!important}.overlay-open{opacity:1!important;pointer-events:auto!important}@media (width<=767px){.sheet-open{transform:translateY(0)!important}}@media (width>=768px){.sheet-open{opacity:1!important;pointer-events:auto!important;transform:translate(-50%,-50%)scale(1)!important}}.bar-hidden{transform:translateY(-100%)!important}#bottom-bar.bar-hidden{transform:translateY(100%)!important}.epub-view{overflow:hidden!important}#toc-list li{cursor:pointer;color:var(--text-color);padding:14px 20px;font-family:Literata,Georgia,serif;font-size:14px;transition:background-color .2s}#toc-list li:hover{background:#0000000a}.theme-dark #toc-list li:hover{background:#ffffff0f}#tts-glass-bar{bottom:calc(75px + env(safe-area-inset-bottom,0px));z-index:45;width:92%;max-width:440px;transition:opacity .4s,bottom .4s,transform .4s;position:absolute;left:50%;transform:translate(-50%)}#tts-glass-bar.hidden{opacity:0!important;pointer-events:none!important;transform:translate(-50%,20px)!important}.tts-glass-inner{-webkit-backdrop-filter:blur(16px);color:#1b1c1c;background:#f5f2edeb;border:1px solid #0000001a;border-radius:9999px;justify-content:space-between;align-items:center;padding:8px 14px;display:flex;box-shadow:0 10px 30px #0000001a}.theme-dark .tts-glass-inner{color:#e0e0e0;background:#1c1c1ceb;border:1px solid #ffffff1f}.tts-glass-icon{color:#fdfbf7;background:#1b1c1c;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex;position:relative}.theme-dark .tts-glass-icon{color:#1b1c1c;background:#e0e0e0}.tts-pulse-ring{opacity:0;box-sizing:border-box;border:2px solid #1b1c1c;border-radius:50%;width:100%;height:100%;animation:2s infinite tts-pulse;position:absolute}.theme-dark .tts-pulse-ring{border:2px solid #e0e0e0}@keyframes tts-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.tts-glass-progress{flex-direction:column;flex:1;justify-content:center;min-width:0;margin:0 12px;display:flex}.tts-glass-track{background:#0000001a;border-radius:2px;width:100%;height:3px;margin-bottom:3px;overflow:hidden}.theme-dark .tts-glass-track{background:#ffffff26}.tts-glass-fill{background:#1b1c1c;border-radius:2px;width:0%;height:100%;transition:width .2s}.theme-dark .tts-glass-fill{background:#e0e0e0}.tts-glass-status{letter-spacing:.03em;text-transform:uppercase;opacity:.75;white-space:nowrap;text-overflow:ellipsis;font-family:Inter,sans-serif;font-size:11px;font-weight:600;overflow:hidden}.tts-glass-controls{flex-shrink:0;align-items:center;gap:4px;display:flex}.tts-glass-btn{width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.tts-glass-btn:hover{background:#00000014}.tts-glass-btn:active{transform:scale(.92)}.theme-dark .tts-glass-btn:hover{background:#ffffff1f}.tts-teleprompter{display:none;background:var(--bg-color)!important;color:var(--text-color)!important;border:1px solid #0000001a!important;border-radius:16px!important;margin-bottom:6px!important;padding:10px 16px!important;font-family:Literata,Georgia,serif!important;font-size:15px!important;line-height:1.6!important;box-shadow:0 10px 30px #0000001a!important}.theme-dark .tts-teleprompter,.theme-oled .tts-teleprompter{border:1px solid #ffffff1f!important}.theme-oled .tts-glass-inner{color:#e4e4e7;background:#0e0e0ef0;border:1px solid #ffffff24}.theme-oled .tts-glass-icon{color:#000;background:#e4e4e7}.theme-oled .tts-glass-track{background:#ffffff29}.theme-oled .tts-glass-fill{background:#e4e4e7}.tts-teleprompter-visible{display:block!important}.page-flip-next{animation:.24s cubic-bezier(.2,.8,.25,1) forwards pageSlideNext}.page-flip-prev{animation:.24s cubic-bezier(.2,.8,.25,1) forwards pageSlidePrev}@keyframes pageSlideNext{0%{opacity:.8;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes pageSlidePrev{0%{opacity:.8;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.tap-zone-active{z-index:28;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;height:100%;position:absolute;top:0}.edge-turn-indicator{width:36px;height:60px;color:var(--text-color);z-index:26;opacity:0;pointer-events:none;background:#00000008;border-radius:8px;justify-content:center;align-items:center;transition:opacity .25s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.tap-zone-active:hover .edge-turn-indicator,.tap-zone-active:active .edge-turn-indicator{opacity:.55}.theme-dark .edge-turn-indicator,.theme-oled .edge-turn-indicator{background:#ffffff0d}.progress-scrub-slider{appearance:none;cursor:pointer;background:#0000001a;border-radius:2px;outline:none;width:100%;height:4px;transition:height .15s}.progress-scrub-slider:hover,.progress-scrub-slider:active{height:6px}.theme-dark .progress-scrub-slider,.theme-oled .progress-scrub-slider{background:#ffffff2e}.progress-scrub-slider::-webkit-slider-thumb{appearance:none;background:var(--text-color);cursor:pointer;border-radius:50%;width:14px;height:14px;transition:transform .15s;box-shadow:0 1px 4px #0003}.progress-scrub-slider::-webkit-slider-thumb:hover{transform:scale(1.35)}.progress-scrub-slider::-webkit-slider-thumb:active{transform:scale(1.35)}#focus-micro-progress{bottom:max(8px, env(safe-area-inset-bottom,8px));z-index:35;-webkit-backdrop-filter:blur(8px);color:var(--text-color);opacity:.65;pointer-events:none;-webkit-user-select:none;user-select:none;background:#0000000d;border-radius:9999px;align-items:center;gap:8px;padding:4px 14px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;transition:opacity .3s,transform .3s;display:flex;position:fixed;left:50%;transform:translate(-50%)}.theme-dark #focus-micro-progress,.theme-oled #focus-micro-progress{background:#ffffff14}#focus-micro-progress.hidden{opacity:0!important;transform:translate(-50%,10px)!important}.pb-safe{padding-bottom:max(16px, env(safe-area-inset-bottom,16px))}.pt-safe{padding-top:max(12px, env(safe-area-inset-top,12px))}.card-progress-track{z-index:10;background:#0003;width:100%;height:4px;position:absolute;bottom:0;left:0;overflow:hidden}.theme-dark .card-progress-track,.theme-oled .card-progress-track{background:#ffffff26}.card-progress-fill{background:#10b981;height:100%;transition:width .3s}.card-badge{letter-spacing:.02em;-webkit-backdrop-filter:blur(8px);z-index:10;border-radius:9999px;padding:2px 7px;font-size:10px;font-weight:600;position:absolute;top:8px;left:8px;box-shadow:0 2px 6px #00000026}.card-badge-completed{color:#fff;background:#10b981e6}.card-badge-reading{color:#fff;background:#000000a6}.theme-dark .card-badge-reading,.theme-oled .card-badge-reading{color:#fff;background:#ffffff40}.chart-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.chart-bar-bg{background:#0000000f;border-radius:6px;align-items:flex-end;width:100%;max-width:24px;height:75px;display:flex;overflow:hidden}.theme-dark .chart-bar-bg,.theme-oled .chart-bar-bg{background:#ffffff14}.chart-bar-fill{background:var(--text-color);opacity:.7;border-radius:6px;width:100%;min-height:2px;transition:height .4s}.chart-bar-fill.goal-met{opacity:1!important;background:#10b981!important}.chart-col.is-today .chart-bar-fill{box-shadow:0 0 10px #10b98173}.chart-label{color:var(--text-color);opacity:.65;font-size:10px}.chart-col.is-today .chart-label{opacity:1;color:#10b981;font-weight:700}.goal-opt-btn.active{background:var(--text-color);color:var(--bg-color);border-color:var(--text-color);font-weight:600}
