*{box-sizing:border-box;margin:0;padding:0}.epub-reader{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;transition:all .3s ease}.gradient-bg{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:#fff}.home-screen{align-items:center;background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%);display:flex;justify-content:center;min-height:100vh}.upload-card{background:var(--bg-secondary);border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:500px;padding:60px;text-align:center;width:90%}.upload-icon{height:80px;margin:0 auto 30px;opacity:.8;width:80px}.upload-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700;margin-bottom:15px}.upload-button{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-top:20px;padding:15px 40px;transition:all .3s ease}.upload-button:hover{box-shadow:0 10px 20px #3b82f64d;transform:translateY(-2px)}.reader-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:20px;padding:15px 20px}.header,.header-left{align-items:center;display:flex}.header-left{flex:1 1;gap:15px}.back-button{background:#0000;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;padding:8px;transition:all .2s}.back-button:hover{background:var(--bg-tertiary)}.book-info{flex:1 1}.book-title{font-size:20px;font-weight:700;margin-bottom:4px}.book-author{color:var(--text-secondary);font-size:14px}.header-controls{align-items:center;display:flex;gap:15px}.search-container{position:relative;width:300px}.search-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:14px;padding:10px 40px 10px 15px;transition:all .2s;width:100%}.search-input:focus{border-color:var(--gradient-start);box-shadow:0 0 0 3px #3b82f61a;outline:none}.search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.icon-button{background:#0000;border:none;border-radius:10px;color:var(--text-primary);cursor:pointer;padding:10px;transition:all .2s}.icon-button:hover{background:var(--bg-tertiary)}.content-area{display:flex;flex:1 1;overflow:hidden;position:relative}.chapter-content{flex:1 1;font-family:inherit;font-family:var(--reader-font-family,inherit);font-size:18px;font-size:var(--reader-font-size,18px);line-height:1.8;line-height:var(--reader-line-height,1.8);margin:0 auto;max-width:800px;max-width:var(--reader-page-width,800px);overflow-y:auto;padding:40px 40px 100px;width:100%}.chapter-content h1{color:var(--gradient-start);font-size:32px;margin-bottom:30px}.chapter-content p{-webkit-hyphens:manual;hyphens:manual;-webkit-hyphens:var(--reader-hyphens,manual);hyphens:var(--reader-hyphens,manual);margin-bottom:.6em;margin-bottom:var(--reader-para-spacing,.6em);overflow-wrap:break-word;text-align:left;text-align:var(--reader-text-align,left)}.paged-viewport{flex:1 1;height:100%;overflow:hidden;position:relative}.paged-spacer{height:1px;pointer-events:none;position:absolute;top:0;width:0}.paged-content.chapter-content{box-sizing:border-box;column-fill:auto;column-gap:48px;column-width:360px;column-width:var(--reader-page-width,360px);height:100%;margin:0;max-width:none;overflow:visible;padding:36px 48px;width:auto}.paged-content img{max-height:100%}.page-nav-area{align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:flex;flex:0 0 auto;justify-content:center;opacity:.45;transition:opacity .2s,background .2s;width:56px;z-index:6}.page-nav-area:hover:not(:disabled){background:var(--bg-secondary);opacity:1}.page-nav-area:disabled{cursor:default;opacity:.12}.search-highlight{animation:highlight-pulse .5s ease;background:gold;border-radius:3px;color:#000;padding:2px 4px}@keyframes highlight-pulse{0%{background:#fff59d}50%{background:gold}to{background:gold}}.search-results{background:var(--bg-secondary);border-left:1px solid var(--border-color);height:100%;overflow-y:auto;padding:20px;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .3s ease;width:350px;z-index:10}.search-results.active{transform:translateX(0)}.search-results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.search-results-title{font-size:18px;font-weight:600}.search-result-item{background:var(--bg-primary);border-radius:10px;cursor:pointer;margin-bottom:10px;padding:15px;transition:all .2s}.search-result-item:hover{box-shadow:0 5px 15px #0000001a;transform:translateX(-5px)}.search-result-chapter{color:var(--text-secondary);font-size:12px;margin-bottom:5px}.search-result-context{font-size:14px;line-height:1.5}.navigation-bar{background:var(--bg-secondary);border-top:1px solid var(--border-color);gap:20px;justify-content:space-between;padding:15px 20px}.nav-button,.navigation-bar{align-items:center;display:flex}.nav-button{background:var(--bg-tertiary);border:none;border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s}.nav-button:hover:not(:disabled){background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:#fff}.nav-button:disabled{cursor:not-allowed;opacity:.5}.chapter-selector{flex:1 1;max-width:400px}.chapter-select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:10px 15px;width:100%}.reading-mode{background:var(--bg-primary);bottom:0;display:flex;left:0;position:fixed;right:0;top:0;z-index:100}.reading-mode-content{flex:1 1;font-family:inherit;font-family:var(--reader-font-family,inherit);font-size:20px;font-size:var(--reader-font-size,20px);line-height:1.8;line-height:var(--reader-line-height,1.8);margin:0 auto;max-width:820px;overflow-y:auto;padding:60px 40px 100px}.reading-mode-content p{-webkit-hyphens:manual;hyphens:manual;-webkit-hyphens:var(--reader-hyphens,manual);hyphens:var(--reader-hyphens,manual);margin-bottom:.6em;margin-bottom:var(--reader-para-spacing,.6em);overflow-wrap:break-word;text-align:left;text-align:var(--reader-text-align,left)}.reading-nav-area{background:#0000;border:none;bottom:0;cursor:pointer;opacity:0;position:absolute;top:0;transition:opacity .2s;width:100px}.reading-nav-area:hover{opacity:1}.reading-nav-area.prev{background:linear-gradient(90deg,#0000001a,#0000);left:0}.reading-nav-area.next{background:linear-gradient(270deg,#0000001a,#0000);right:0}.floating-menu{align-items:center;background:var(--bg-secondary);border-radius:20px;bottom:30px;box-shadow:0 10px 30px #0003;display:flex;gap:15px;left:50%;opacity:0;padding:15px 20px;pointer-events:none;position:fixed;transform:translateX(-50%);transition:all .3s ease;z-index:101}.floating-menu.show{opacity:1;pointer-events:auto}.menu-trigger{align-items:center;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));border:none;border-radius:50%;bottom:30px;box-shadow:0 5px 20px #0003;color:#fff;cursor:pointer;display:flex;height:60px;justify-content:center;position:fixed;right:30px;transition:all .3s ease;width:60px;z-index:101}.menu-trigger:hover{transform:scale(1.1)}@media (max-width:768px){.header{padding:10px 15px}.search-container{order:3;width:100%}.chapter-content{font-size:16px;padding:20px}.search-results{width:100%}.upload-card{padding:40px 30px}}.progress-bar{background:linear-gradient(to top,var(--bg-primary) 60%,#0000);bottom:0;left:0;padding:6px 16px 10px;pointer-events:none;position:absolute;right:0;z-index:5}.progress-track{background:var(--bg-tertiary);border-radius:2px;height:3px;margin-bottom:4px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--gradient-start),var(--gradient-end));height:100%;transition:width .2s ease}.progress-meta{font-feature-settings:"tnum";align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:11px;font-variant-numeric:tabular-nums;gap:6px;justify-content:center}.progress-dot{opacity:.4}.reader-container,.reading-mode{position:relative}.reader-bottom .progress-bar{background:var(--bg-secondary);border-top:1px solid var(--border-color);pointer-events:auto;position:static}.reader-bottom .progress-bar+.navigation-bar{border-top:none}.reader-container.chrome-autohide .header,.reader-container.chrome-autohide .reader-bottom{left:0;position:absolute;right:0;transition:transform .3s ease,opacity .3s ease;z-index:20}.reader-container.chrome-autohide .header{top:0}.reader-container.chrome-autohide .reader-bottom{bottom:0}.reader-container.chrome-autohide.chrome-hidden .header{opacity:0;pointer-events:none;transform:translateY(-100%)}.reader-container.chrome-autohide.chrome-hidden .reader-bottom{opacity:0;pointer-events:none;transform:translateY(100%)}.sidebar-overlay{background:#0006;inset:0;opacity:0;position:fixed;transition:opacity .2s ease;visibility:hidden;z-index:50}.sidebar-overlay.show{opacity:1;visibility:visible}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);bottom:0;box-shadow:4px 0 24px #0000002e;display:flex;flex-direction:column;left:0;max-width:88vw;position:fixed;top:0;transform:translateX(-100%);transition:transform .22s ease;width:360px;z-index:60}.sidebar.show{transform:translateX(0)}.sidebar-tabs{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:4px;padding:4px 6px}.sidebar-tab{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex:1 1;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:7px 10px;transition:background .15s ease,color .15s ease}.sidebar-tab.active,.sidebar-tab:hover{background:var(--bg-tertiary)}.sidebar-tab.active{color:var(--text-primary)}.sidebar-close{flex:0 0 auto!important;margin-left:auto}.sidebar-body{flex:1 1;overflow-y:auto;padding:4px 8px 8px}.bookmark-list,.toc-list{list-style:none;margin:0;padding:0}.toc-item{align-items:baseline;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:10px;line-height:1.4;padding:10px 12px;transition:background .1s ease}.toc-item:hover{background:var(--bg-tertiary)}.toc-item.active{background:linear-gradient(90deg,var(--gradient-start) 0,#0000 100%);color:#fff;font-weight:600}.toc-item.active .toc-index{color:#fffc}.toc-index{font-feature-settings:"tnum";color:var(--text-secondary);flex:0 0 28px;font-size:12px;font-variant-numeric:tabular-nums}.toc-title{flex:1 1}.bookmark-item{border:1px solid #0000;border-radius:8px;cursor:pointer;margin-bottom:6px;padding:12px;transition:background .1s ease,border-color .1s ease}.bookmark-item:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.bookmark-head{align-items:center;display:flex;gap:8px;margin-bottom:4px}.bookmark-chapter{color:var(--text-primary);flex:1 1;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookmark-delete{opacity:.5}.bookmark-delete:hover{opacity:1}.bookmark-snippet{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:12px;line-height:1.4;margin:4px 0 6px;overflow:hidden}.bookmark-meta{font-size:11px}.empty-state{color:var(--text-secondary);padding:40px 20px;text-align:center}.empty-state p{margin-top:8px}.empty-state kbd{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;font-family:monospace;font-size:11px;padding:2px 6px}.muted{color:var(--text-secondary);font-size:12px}.font-button-wrap{position:relative}.font-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 30px #0000002e;opacity:0;padding:12px 14px;position:absolute;right:0;top:calc(100% + 6px);transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;visibility:hidden;width:280px;z-index:40}.font-panel.show{opacity:1;transform:translateY(0);visibility:visible}.font-row{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;gap:10px;margin:8px 0}.font-row label{flex:0 0 80px}.font-row input[type=range]{accent-color:var(--gradient-start);flex:1 1}.font-stepper{align-items:center;background:var(--bg-tertiary);border-radius:8px;display:inline-flex;gap:4px;padding:2px}.font-stepper button{background:#0000;border:none;border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:16px;height:28px;line-height:1;width:28px}.font-stepper button:hover{background:var(--bg-secondary)}.font-value{font-feature-settings:"tnum";color:var(--text-primary);font-size:12px;font-variant-numeric:tabular-nums;min-width:44px;text-align:right}.font-family-group{background:var(--bg-tertiary);border-radius:8px;display:inline-flex;gap:2px;padding:2px}.font-family-group button{background:#0000;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:4px 10px;text-transform:capitalize}.font-family-group button.active{background:var(--bg-secondary);box-shadow:0 1px 3px #0000001a;color:var(--text-primary)}.font-toggle{background:var(--bg-tertiary);border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:12px;min-width:48px;padding:4px 14px}.font-toggle.active{background:var(--gradient-start);color:#fff}.home-screen{align-items:flex-start;overflow-y:auto;padding:60px 20px}.home-inner{align-items:center;display:flex;flex-direction:column;gap:48px;max-width:960px;width:100%}.recent-section{width:100%}.recent-title{color:var(--text-secondary);font-size:14px;font-weight:600;letter-spacing:.08em;margin-bottom:16px;text-transform:uppercase}.recent-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.recent-card{border-radius:10px;cursor:pointer;padding:8px;position:relative;transition:background .12s ease,transform .12s ease}.recent-card:hover{background:var(--bg-secondary);transform:translateY(-2px)}.recent-card:hover .recent-card-remove{opacity:1}.recent-cover{aspect-ratio:2/3;background:var(--bg-tertiary);border-radius:6px;box-shadow:0 6px 16px #00000026;margin-bottom:10px;overflow:hidden;width:100%}.recent-cover img{display:block;height:100%;object-fit:cover;width:100%}.recent-cover-fallback{align-items:center;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:var(--text-secondary);color:#fff;display:flex;height:100%;justify-content:center;opacity:.85;width:100%}.recent-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:13px;font-weight:600;line-height:1.3;margin-bottom:2px;overflow:hidden}.recent-card-author{color:var(--text-secondary);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-card-meta{color:var(--text-secondary);font-size:10px;margin-top:2px;opacity:.7}.recent-card-remove{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:22px;justify-content:center;opacity:0;position:absolute;right:4px;top:4px;transition:opacity .12s ease;width:22px}.recent-hint{margin-top:14px;text-align:center}.inline-highlight{background:gold;border-radius:3px;color:#000;font-weight:500;padding:1px 3px}.reading-mode .progress-bar{background:linear-gradient(0deg,#000000d9 50%,#0000);color:#ffffffb3}.reading-mode .progress-meta{color:#ffffffb3}@media (max-width:600px){.progress-meta{font-size:10px;gap:4px}.font-panel{right:-20px;width:260px}.sidebar{max-width:100vw;width:100vw}}.rsvp-overlay{align-items:center;background:var(--bg-primary);display:flex;flex-direction:column;gap:28px;inset:0;justify-content:center;position:fixed;z-index:200}.rsvp-close{position:absolute;right:18px;top:18px}.rsvp-stage{align-items:center;display:flex;flex-direction:column;position:relative;width:min(680px,92vw)}.rsvp-guide{background:var(--border-color);height:16px;width:2px}.rsvp-word{display:flex;font-family:Georgia,serif;font-family:var(--reader-font-family,Georgia,serif);font-size:clamp(32px,7vw,64px);line-height:1.2;padding:14px 0;white-space:pre;width:100%}.rsvp-before{text-align:right}.rsvp-after,.rsvp-before{color:var(--text-primary);flex:1 1}.rsvp-after{text-align:left}.rsvp-pivot{color:#e5484d;font-weight:600}.rsvp-end{color:var(--text-secondary);justify-content:center}.rsvp-progress{background:var(--bg-tertiary);border-radius:2px;height:4px;overflow:hidden;width:min(680px,92vw)}.rsvp-progress-fill{background:linear-gradient(90deg,var(--gradient-start),var(--gradient-end));height:100%;transition:width .1s linear}.rsvp-controls{gap:18px}.rsvp-controls,.rsvp-play{align-items:center;display:flex}.rsvp-play{background:var(--gradient-start);border:none;border-radius:50%;color:#fff;cursor:pointer;height:56px;justify-content:center;width:56px}.rsvp-wpm{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:12px}.rsvp-wpm input[type=range]{width:min(280px,60vw)}.rsvp-wpm-value{min-width:70px}.rsvp-count,.rsvp-wpm-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rsvp-count{min-width:80px;text-align:right}
/*# sourceMappingURL=main.8d1bc44c.css.map*/