:root,[data-theme=light]{--paper-color:#f4f1ea;--text-color:#2a2a2a;--accent-color:#8b6914;--bg-color:#e8e4dc;--shelf-color:#8b7355;--shadow-color:#0000004d;--ui-bg:#f4f1eaf2;--ui-border:#0000001a;--ui-hover:#0000000d;--progress-bg:#0000001a}[data-theme=dark]{--paper-color:#1a1a1a;--text-color:#d4d0c8;--accent-color:#c9a84c;--bg-color:#111;--shelf-color:#3a3028;--shadow-color:#0009;--ui-bg:#1a1a1af2;--ui-border:#ffffff1a;--ui-hover:#ffffff0d;--progress-bg:#ffffff1a}[data-theme=sepia]{--paper-color:#f5e6c8;--text-color:#3a2e1e;--accent-color:#7a5c2e;--bg-color:#e8dcc8;--shelf-color:#6b5b45;--shadow-color:#00000040;--ui-bg:#f5e6c8f2;--ui-border:#0000001a;--ui-hover:#0000000d;--progress-bg:#0000001a}.book-wrapper{perspective:1000px;cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none;display:inline-block}.book{width:140px;height:200px;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.25,.46,.45,.94);position:relative}.book-wrapper:focus,.book-wrapper :focus{outline:none}.book-cover{backface-visibility:hidden;transform:translateZ(calc(var(--thickness,20px) / 2));background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:2px 4px 4px 2px;position:absolute;inset:0;overflow:hidden;box-shadow:0 8px 12px -4px #0000004d}.book-cover-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:1rem;display:flex}.book-cover-placeholder .book-title-text{color:#fffffff2;text-shadow:0 1px 3px #0000004d;word-wrap:break-word;-webkit-line-clamp:5;-webkit-box-orient:vertical;font-size:.9rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.book-cover-placeholder .book-author-text{color:#ffffffb3;margin-top:.5rem;font-size:.7rem;font-style:italic}.book-spine{height:100%;width:var(--thickness,20px);transform:rotateY(-90deg) translateX(calc(var(--thickness,20px) / -2));transform-origin:0;background-image:linear-gradient(90deg,#00000040,#0000000d 20%,#ffffff1a 50%,#0000000d 80%,#0003);position:absolute;top:0;left:0}.book-pages{width:var(--thickness,20px);height:calc(100% - 4px);transform:rotateY(90deg) translateX(calc(var(--thickness,20px) / 2));transform-origin:100%;background:repeating-linear-gradient(90deg,#f8f6f0,#f8f6f0 1px,#e8e5de 1px 2px);position:absolute;top:2px;right:2px}.book-bookmark-clip{z-index:5;pointer-events:none;height:28px;position:absolute;top:-2px;left:0;right:0;overflow:hidden}.book-bookmark{clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%);background:#c0392b;width:11px;height:26px;transition:top .7s cubic-bezier(.22,.61,.36,1) .15s;position:absolute;top:2px;transform:translate(-50%)}.book-wrapper.shelf-hidden .book-bookmark{transition:top .15s ease-in;top:-28px}.book-wrapper.shelf-hidden .book{visibility:hidden}.book-cellophane{background:conic-gradient(from var(--angle,0deg), transparent 0%, #ffffff4d 10%, transparent 20%, #c8dcff33 30%, transparent 40%);pointer-events:none;z-index:10;border-radius:2px;animation:3s linear infinite shimmer;position:absolute;inset:-2px}.book-cellophane:before,.book-cellophane:after{content:"";opacity:0;pointer-events:none;border-radius:50%;width:4px;height:4px;position:absolute}.book-cellophane:before{background:#fffc;top:30%;left:20%;box-shadow:20px -10px #c8dcff99,-10px 20px #ffffff80,40px 15px #c8dcffb3,-20px -25px #fff9,60px 5px #c8dcff66,-5px 40px #ffffff80,35px -30px #c8dcff99,-30px 10px #fff6}.book-cellophane:after{background:#c8dcffcc;bottom:30%;right:20%;box-shadow:-20px 10px #fff9,10px -20px #c8dcff80,-40px -15px #ffffffb3,20px 25px #c8dcff99,-15px -35px #fff6,30px 5px #c8dcff80}.book-cellophane.unwrapping:before{animation:.6s ease-out forwards particleBurstUp}.book-cellophane.unwrapping:after{animation:.6s ease-out .1s forwards particleBurstDown}.book-cellophane.unwrapping{animation:.4s ease-out forwards cellophaneUnwrap}@keyframes particleBurstUp{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)translateY(-40px)rotate(45deg)}}@keyframes particleBurstDown{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2)translateY(30px)rotate(-30deg)}}@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes shimmer{to{--angle:360deg}}.book-progress{background:var(--progress-bg,#0000001a);z-index:4;height:3px;position:absolute;bottom:0;left:0;right:0}.book-progress-fill{background:var(--accent-color);height:100%;transition:width .3s}.book-info{text-align:center;width:140px;margin-top:.5rem}.book-info-title{color:var(--text-color);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:600;line-height:1.3;overflow:hidden}.book-info-author{color:var(--text-color);opacity:.6;text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-size:.65rem;overflow:hidden}@keyframes bookPopOut{0%{transform:scale(1)translateZ(0)}to{transform:scale(1.1)translateZ(100px)}}@keyframes bookCenter{0%{transform:scale(1.1)translateZ(100px)}to{transform:scale(1.5)translateZ(0)rotateY(0)}}@keyframes cellophaneUnwrap{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}to{opacity:0;transform:scale(1.1)translateY(-20px)}}@keyframes coverOpen{0%{transform:rotateY(0)}to{transform:rotateY(-150deg)}}@keyframes contentFadeIn{0%{opacity:0}to{opacity:1}}.book-wrapper.book-selected{z-index:9999;z-index:9999;position:relative}.book-wrapper.book-selected .book{transition:transform .4s cubic-bezier(.34,1.3,.64,1)}.book-wrapper.book-selected .book-cover{transition:box-shadow .4s;box-shadow:0 15px 35px -8px #0006}.book-back{transform:translateZ(calc(var(--thickness,20px) / -2)) rotateY(180deg);filter:brightness(.75);border-radius:4px 2px 2px 4px;position:absolute;inset:0}.book-pages-top{width:calc(100% - 2px);height:var(--thickness,20px);transform:rotateX(90deg) translateY(calc(var(--thickness,20px) / -2));transform-origin:top;background:repeating-linear-gradient(#f5f2eb 0 1px,#ebe8e0 1px 2px);position:absolute;top:2px;left:0}.book-pages-bottom{width:calc(100% - 2px);height:var(--thickness,20px);transform:rotateX(-90deg) translateY(calc(var(--thickness,20px) / 2));transform-origin:bottom;background:repeating-linear-gradient(#f0ede5 0 1px,#e5e2da 1px 2px);position:absolute;bottom:2px;left:0}.reader-content{font-family:var(--reader-font,"Georgia", serif);font-size:var(--reader-font-size,18px);line-height:var(--reader-line-height,1.6);color:var(--text-color);max-width:38em;margin:0 auto;padding:2rem 1.5rem}.reader-content p{text-align:justify;-webkit-hyphens:auto;hyphens:auto;margin:0 0 1em}.reader-content h1{text-align:left;margin:1.5em 0 .5em;font-size:2em;font-weight:700;line-height:1.2}.reader-content h2{text-align:left;margin:1.3em 0 .4em;font-size:1.6em;font-weight:600;line-height:1.25}.reader-content h3{margin:1.2em 0 .4em;font-size:1.3em;font-weight:600;line-height:1.3}.reader-content h4,.reader-content h5,.reader-content h6{margin:1em 0 .3em;font-size:1.1em;font-weight:600;line-height:1.3}.reader-content blockquote{border-left:3px solid var(--accent-color);opacity:.9;margin:1.2em 0;padding:.5em 0 .5em 1.5em;font-style:italic}.reader-content em{font-style:italic}.reader-content strong{font-weight:700}.reader-content img{border-radius:2px;max-width:100%;height:auto;margin:1em auto;display:block}.reader-content hr{border:none;border-top:1px solid var(--ui-border);margin:2em 0}.reader-content .noteref{vertical-align:super;color:var(--accent-color);cursor:pointer;padding:0 2px;font-size:.75em;font-weight:600;line-height:0;transition:opacity .15s}.reader-content .noteref:hover{opacity:.7}.reader-content .sidenote{color:var(--text-color);opacity:.8;font-size:.82em;line-height:1.4;display:none}@media (width>=1025px){.reader-content{position:relative}.reader-content .sidenote{border-left:2px solid var(--accent-color);width:14em;margin-top:-1.2em;padding:.3em 0 .3em .8em;display:block;position:absolute;right:-16em}}.reader-content .sidenote.active{background:var(--ui-hover);border-left:2px solid var(--accent-color);border-radius:0 4px 4px 0;margin:.5em 0 1em 1.5em;padding:.6em .8em;display:block}@media (width>=1025px){.reader-content .sidenote.active{background:0 0;margin:0;padding:.3em 0 .3em .8em}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-color);color:var(--text-color);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;transition:background-color .3s,color .3s;overflow-x:hidden}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}a{color:var(--accent-color);text-decoration:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--shadow-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent-color)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shelf-grid.svelte-12w287g{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0 .75rem;max-width:1200px;margin:0 auto;padding:1.5rem 1rem 0;display:grid}.shelf-cell.svelte-12w287g{flex-direction:column;align-items:center;padding-top:1rem;display:flex;position:relative}.cell-selected.svelte-12w287g{z-index:999}.cell-book.svelte-12w287g{z-index:2;margin-bottom:-10px;position:relative}.cell-shelf.svelte-12w287g{z-index:1;width:calc(100% + 2px);margin-left:-1px;position:relative}.cell-shelf-top.svelte-12w287g{background:linear-gradient(to bottom, color-mix(in srgb, var(--shelf-color) 70%, white), color-mix(in srgb, var(--shelf-color) 85%, white));transform-origin:bottom;width:100%;height:14px;transform:perspective(600px)rotateX(30deg)}.cell-shelf-front.svelte-12w287g{background:linear-gradient(to bottom, color-mix(in srgb, var(--shelf-color) 85%, black), color-mix(in srgb, var(--shelf-color) 50%, black));border-radius:0 0 1px 1px;width:100%;height:12px;box-shadow:0 4px 8px #0000001f}.cell-shelf-front.svelte-12w287g:before{content:"";background:#ffffff26;height:1px;position:absolute;top:0;left:0;right:0}@media (width<=500px){.shelf-grid.svelte-12w287g{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));padding:1rem .5rem 0}}.upload-btn.svelte-bdutj{background:var(--accent-color);color:#fff;box-shadow:0 2px 8px var(--shadow-color);border-radius:8px;align-items:center;gap:.4rem;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:opacity .2s,transform .15s;display:inline-flex}.upload-btn.svelte-bdutj:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.upload-btn.svelte-bdutj:disabled{opacity:.6;cursor:not-allowed}.upload-icon.svelte-bdutj{font-size:1.3rem;font-weight:300;line-height:1}.upload-spinner.svelte-bdutj{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite svelte-bdutj-spin;display:inline-block}@keyframes svelte-bdutj-spin{to{transform:rotate(360deg)}}.upload-error.svelte-bdutj{color:#d44;margin-top:.5rem;font-size:.8rem}.profile-switcher.svelte-dm50yu{position:relative}.profile-trigger.svelte-dm50yu{border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.85rem;font-weight:500;transition:background .2s;display:inline-flex}.profile-trigger.svelte-dm50yu:hover{background:var(--ui-hover)}.profile-avatar.svelte-dm50yu{border-radius:50%;flex-shrink:0;width:22px;height:22px}.profile-avatar-default.svelte-dm50yu{background:var(--ui-border);border:2px dashed var(--text-color);opacity:.4}.profile-name.svelte-dm50yu{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.profile-caret.svelte-dm50yu{opacity:.5;font-size:.7rem;transition:transform .2s}.profile-caret.open.svelte-dm50yu{transform:rotate(180deg)}.profile-dropdown.svelte-dm50yu{background:var(--ui-bg);border:1px solid var(--ui-border);box-shadow:0 4px 20px var(--shadow-color);z-index:100;border-radius:10px;min-width:200px;margin-top:.25rem;animation:.15s svelte-dm50yu-profileDropIn;position:absolute;top:100%;left:0;overflow:hidden}@keyframes svelte-dm50yu-profileDropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.profile-option.svelte-dm50yu{text-align:left;align-items:center;gap:.5rem;width:100%;padding:.55rem .8rem;font-size:.85rem;transition:background .15s;display:flex}.profile-option.svelte-dm50yu:hover{background:var(--ui-hover)}.profile-option.active.svelte-dm50yu{background:var(--accent-color);color:#fff}.profile-option.active.svelte-dm50yu .profile-avatar-default:where(.svelte-dm50yu){opacity:.7;border-color:#fff}.profile-divider.svelte-dm50yu{background:var(--ui-border);height:1px;margin:.25rem 0}.profile-add-btn.svelte-dm50yu{opacity:.7}.profile-add-icon.svelte-dm50yu{opacity:.6;justify-content:center;align-items:center;width:22px;height:22px;font-size:1.1rem;font-weight:300;display:flex}.profile-add-form.svelte-dm50yu{gap:.3rem;padding:.4rem;display:flex}.profile-add-input.svelte-dm50yu{border:1px solid var(--accent-color);background:var(--paper-color);border-radius:6px;outline:none;flex:1;padding:.4rem .6rem;font-size:.85rem}.profile-add-confirm.svelte-dm50yu{background:var(--accent-color);color:#fff;border-radius:6px;padding:.4rem .8rem;font-size:.8rem;font-weight:600}.import-backdrop.svelte-ue10gb{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s svelte-ue10gb-backdropFadeIn;display:flex;position:fixed;inset:0}@keyframes svelte-ue10gb-backdropFadeIn{0%{opacity:0}to{opacity:1}}.import-dialog.svelte-ue10gb{background:var(--ui-bg);border:1px solid var(--ui-border);box-shadow:0 8px 40px var(--shadow-color);border-radius:16px;flex-direction:column;width:90vw;max-width:520px;max-height:80vh;animation:.25s cubic-bezier(.25,.46,.45,.94) svelte-ue10gb-dialogSlideIn;display:flex;overflow:hidden}@keyframes svelte-ue10gb-dialogSlideIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.import-header.svelte-ue10gb{border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.import-title.svelte-ue10gb{font-size:1.1rem;font-weight:700}.import-close.svelte-ue10gb{opacity:.5;border-radius:6px;padding:4px;transition:opacity .15s,background .15s}.import-close.svelte-ue10gb:hover{opacity:.8;background:var(--ui-hover)}.import-tabs.svelte-ue10gb{border-bottom:1px solid var(--ui-border);display:flex}.import-tab.svelte-ue10gb{text-align:center;opacity:.6;border-bottom:2px solid #0000;flex:1;padding:.7rem;font-size:.85rem;font-weight:500;transition:border-color .2s,opacity .2s}.import-tab.active.svelte-ue10gb{opacity:1;border-bottom-color:var(--accent-color)}.import-tab.svelte-ue10gb:hover{opacity:.85}.import-body.svelte-ue10gb{flex-direction:column;flex:1;display:flex;overflow:hidden}.import-scanning.svelte-ue10gb,.import-empty.svelte-ue10gb,.import-error.svelte-ue10gb,.import-success.svelte-ue10gb{text-align:center;opacity:.7;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1.5rem;font-size:.9rem;display:flex}.import-spinner.svelte-ue10gb{border:3px solid var(--ui-border);border-top-color:var(--accent-color);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite svelte-ue10gb-spin}@keyframes svelte-ue10gb-spin{to{transform:rotate(360deg)}}.import-retry.svelte-ue10gb,.import-done.svelte-ue10gb{background:var(--accent-color);color:#fff;border-radius:6px;padding:.5rem 1.2rem;font-size:.85rem;font-weight:600}.import-error.svelte-ue10gb{color:#d44}.import-success.svelte-ue10gb{color:var(--text-color)}.import-toolbar.svelte-ue10gb{border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.import-count.svelte-ue10gb{opacity:.6;font-size:.78rem}.import-toolbar-actions.svelte-ue10gb{gap:.5rem;display:flex}.import-select-btn.svelte-ue10gb{color:var(--accent-color);border-radius:4px;padding:.2rem .5rem;font-size:.75rem;transition:background .15s}.import-select-btn.svelte-ue10gb:hover{background:var(--ui-hover)}.import-list.svelte-ue10gb{flex:1;padding:.25rem .5rem;overflow-y:auto}.import-book-row.svelte-ue10gb{cursor:pointer;border-radius:6px;align-items:center;gap:.6rem;padding:.5rem;transition:background .15s;display:flex}.import-book-row.svelte-ue10gb:hover{background:var(--ui-hover)}.import-book-row.svelte-ue10gb input[type=checkbox]:where(.svelte-ue10gb){accent-color:var(--accent-color);flex-shrink:0}.import-book-info.svelte-ue10gb{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.import-book-title.svelte-ue10gb{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:500;overflow:hidden}.import-book-meta.svelte-ue10gb{opacity:.6;font-size:.75rem}.import-progress-bar.svelte-ue10gb{background:var(--ui-border);height:3px;overflow:hidden}.import-progress-fill.svelte-ue10gb{background:var(--accent-color);height:100%;transition:width .3s}.import-footer.svelte-ue10gb{border-top:1px solid var(--ui-border);padding:.75rem 1rem}.import-execute-btn.svelte-ue10gb{background:var(--accent-color);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;width:100%;padding:.65rem;font-size:.9rem;font-weight:600;transition:opacity .2s;display:flex}.import-execute-btn.svelte-ue10gb:hover:not(:disabled){opacity:.9}.import-execute-btn.svelte-ue10gb:disabled{opacity:.5;cursor:not-allowed}.import-btn-spinner.svelte-ue10gb{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite svelte-ue10gb-spin;display:inline-block}div.svelte-clyidt{width:100%;height:100%;position:relative;overflow:hidden}canvas.svelte-clyidt{width:100%;height:100%;display:block;position:relative}.scroll-sentinel.svelte-g1xf6z{z-index:1;pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;position:absolute;inset:0;overflow-y:auto}.scroll-inner.svelte-g1xf6z{pointer-events:none;width:100%}.shelf3d-wrapper.svelte-aauiro{position:fixed;inset:0}.shelf3d-canvas.svelte-aauiro{z-index:0;position:fixed;inset:0}.shelf3d-snapshot.svelte-aauiro{z-index:2;object-fit:cover;opacity:1;pointer-events:none;width:100%;height:100%;transition:opacity .3s ease-out;position:fixed;inset:0}.shelf3d-snapshot.fading.svelte-aauiro{opacity:0}.library-wrapper.svelte-inevtl{width:100%;height:100dvh;position:relative;overflow:hidden auto}.library-wrapper.svelte-inevtl:has(.zoomed:where(.svelte-inevtl)){overflow:hidden}.hidden-zoom.svelte-inevtl{opacity:0;pointer-events:none;transition:opacity .3s}.library.svelte-inevtl{background:radial-gradient(ellipse at 50% 0%, #8b735526 0%, transparent 70%), var(--bg-color);min-height:100vh;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.library-header.svelte-inevtl{justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding:1.5rem 2rem;display:flex}.library-header-left.svelte-inevtl{align-items:center;gap:1rem;display:flex}.library-header-right.svelte-inevtl{align-items:center;gap:.5rem;display:flex}.library-title.svelte-inevtl{color:var(--text-color);letter-spacing:-.02em;font-size:1.8rem;font-weight:700}.import-btn.svelte-inevtl{border:1px solid var(--ui-border);border-radius:8px;align-items:center;gap:.4rem;padding:.6rem 1rem;font-size:.85rem;font-weight:500;transition:background .2s,border-color .2s;display:inline-flex}.import-btn.svelte-inevtl:hover{background:var(--ui-hover);border-color:var(--accent-color)}.collections-nav.svelte-inevtl{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.25rem;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;overflow-x:auto}.collections-nav.svelte-inevtl::-webkit-scrollbar{display:none}.collection-tab-wrapper.svelte-inevtl{align-items:center;display:inline-flex;position:relative}.collection-tab.svelte-inevtl{white-space:nowrap;color:var(--text-color);opacity:.7;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:background .2s,color .2s;position:relative}.collection-tab.svelte-inevtl:hover{background:var(--ui-hover);opacity:1}.collection-tab.active.svelte-inevtl{background:var(--accent-color);color:#fff;opacity:1}.collection-add.svelte-inevtl{opacity:.5;font-style:italic}.collection-delete.svelte-inevtl{opacity:0;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;margin-left:-.5rem;margin-right:.25rem;font-size:.65rem;transition:opacity .15s;display:inline-flex}.collection-tab-wrapper.svelte-inevtl:hover .collection-delete:where(.svelte-inevtl){opacity:.6}.collection-edit-input.svelte-inevtl{border:1px solid var(--accent-color);background:var(--paper-color);border-radius:6px;outline:none;min-width:120px;padding:.5rem 1rem;font-size:.85rem}.library-loading.svelte-inevtl,.library-empty.svelte-inevtl{text-align:center;opacity:.6;padding:4rem 2rem;font-size:1rem}.context-menu.svelte-inevtl{background:var(--ui-bg);border:1px solid var(--ui-border);box-shadow:0 4px 20px var(--shadow-color);z-index:1000;border-radius:8px;min-width:180px;position:fixed;overflow:hidden}.context-menu-title.svelte-inevtl{opacity:.6;border-bottom:1px solid var(--ui-border);white-space:nowrap;text-overflow:ellipsis;padding:.6rem .8rem;font-size:.8rem;font-weight:600;overflow:hidden}.context-menu-section.svelte-inevtl{text-transform:uppercase;letter-spacing:.05em;opacity:.5;padding:.4rem .8rem .2rem;font-size:.7rem}.context-menu-item.svelte-inevtl{text-align:left;width:100%;padding:.5rem .8rem;font-size:.85rem;transition:background .15s;display:block}.context-menu-item.svelte-inevtl:hover{background:var(--ui-hover)}.context-menu-danger.svelte-inevtl{color:#d44}.context-menu-divider.svelte-inevtl{background:var(--ui-border);height:1px;margin:.25rem 0}.camera-info.svelte-inevtl{z-index:100;color:#fff;background:linear-gradient(#0000 0%,#0009 40%,#000000d9 100%);align-items:center;gap:1rem;padding:1.5rem 2rem;display:flex;position:fixed;bottom:0;left:0;right:0}.camera-info-back.svelte-inevtl{color:#fff;background:#ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s;display:flex}.camera-info-back.svelte-inevtl:hover{background:#fff3}.camera-info-content.svelte-inevtl{text-align:center;flex:1;min-width:0}.camera-info-title.svelte-inevtl{text-shadow:0 1px 4px #00000080;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.2rem;font-weight:700;overflow:hidden}.camera-info-author.svelte-inevtl{opacity:.75;margin:.15rem 0 0;font-size:.9rem;font-style:italic}.camera-info-progress.svelte-inevtl{justify-content:center;align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.camera-info-progress-bar.svelte-inevtl{background:#fff3;border-radius:2px;width:100px;height:3px;overflow:hidden}.camera-info-progress-fill.svelte-inevtl{background:#ffffffb3;border-radius:2px;height:100%}.camera-info-progress-text.svelte-inevtl{opacity:.6;font-size:.75rem;font-weight:600}.camera-info-buttons.svelte-inevtl{justify-content:center;gap:.75rem;margin-top:.8rem;display:flex}.camera-info-read.svelte-inevtl{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #ffffff40;border-radius:8px;padding:.5rem 1.8rem;font-size:.9rem;font-weight:600;transition:background .2s}.camera-info-read.svelte-inevtl:hover{background:#ffffff40}.camera-info-delete.svelte-inevtl{color:#ffffff59;border-radius:6px;padding:.4rem .8rem;font-size:.75rem}.camera-info-delete.svelte-inevtl:hover{color:#ff6b6b}.camera-info-delete-confirm.svelte-inevtl{color:#fff;background:#d44;border-radius:6px;padding:.4rem .8rem;font-size:.75rem}.camera-info-delete-cancel.svelte-inevtl{color:#ffffff80;border-radius:6px;padding:.4rem .8rem;font-size:.75rem}.theme-editor.svelte-sojts0{padding:.75rem}.te-header.svelte-sojts0{margin-bottom:.75rem}.te-title.svelte-sojts0{font-size:.9rem;font-weight:700}.te-body.svelte-sojts0{flex-direction:column;gap:.75rem;display:flex}.te-field.svelte-sojts0{flex-direction:column;gap:.25rem;display:flex}.te-label.svelte-sojts0{text-transform:uppercase;letter-spacing:.05em;opacity:.6;font-size:.75rem;font-weight:600}.te-name-input.svelte-sojts0{border:1px solid var(--ui-border);background:var(--paper-color);border-radius:6px;outline:none;padding:.45rem .6rem;font-size:.9rem;transition:border-color .2s}.te-name-input.svelte-sojts0:focus{border-color:var(--accent-color)}.te-colors.svelte-sojts0{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.te-color-field.svelte-sojts0{flex-direction:column;gap:.2rem;display:flex}.te-color-label.svelte-sojts0{text-transform:uppercase;letter-spacing:.04em;opacity:.55;font-size:.7rem;font-weight:600}.te-color-input-wrapper.svelte-sojts0{border:1px solid var(--ui-border);background:var(--paper-color);border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .4rem;display:flex}.te-color-picker.svelte-sojts0{cursor:pointer;border:none;border-radius:4px;flex-shrink:0;width:24px;height:24px;padding:0}.te-color-picker.svelte-sojts0::-webkit-color-swatch-wrapper{padding:0}.te-color-picker.svelte-sojts0::-webkit-color-swatch{border:1px solid var(--ui-border);border-radius:3px}.te-color-text.svelte-sojts0{background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:monospace;font-size:.75rem}.te-error.svelte-sojts0{color:#d44;padding:.3rem 0;font-size:.8rem}.te-actions.svelte-sojts0{border-top:1px solid var(--ui-border);align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.te-action-spacer.svelte-sojts0{flex:1}.te-delete-btn.svelte-sojts0{color:#d44;border:1px solid #d44;border-radius:6px;padding:.4rem .8rem;font-size:.8rem;transition:background .15s}.te-delete-btn.svelte-sojts0:hover{background:#dd44441a}.te-cancel-btn.svelte-sojts0{border:1px solid var(--ui-border);border-radius:6px;padding:.4rem .8rem;font-size:.8rem;transition:background .15s}.te-cancel-btn.svelte-sojts0:hover{background:var(--ui-hover)}.te-save-btn.svelte-sojts0{background:var(--accent-color);color:#fff;border-radius:6px;padding:.4rem 1rem;font-size:.8rem;font-weight:600;transition:opacity .15s}.te-save-btn.svelte-sojts0:hover:not(:disabled){opacity:.9}.te-save-btn.svelte-sojts0:disabled{opacity:.5;cursor:not-allowed}.theme-switcher.svelte-u8uo5a{padding:1rem}.theme-section.svelte-u8uo5a{margin-bottom:1rem}.theme-label.svelte-u8uo5a{text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.theme-buttons.svelte-u8uo5a{gap:.5rem;display:flex}.theme-btn.svelte-u8uo5a{border:2px solid var(--ui-border);border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.85rem;font-weight:500;transition:border-color .2s,opacity .2s}.theme-btn.active.svelte-u8uo5a{border-color:var(--accent-color)}.theme-btn-light.svelte-u8uo5a{color:#2a2a2a;background:#f4f1ea}.theme-btn-sepia.svelte-u8uo5a{color:#3a2e1e;background:#f5e6c8}.theme-btn-dark.svelte-u8uo5a{color:#d4d0c8;background:#1a1a1a}.custom-themes.svelte-u8uo5a{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.custom-theme-btn.svelte-u8uo5a{border:2px solid var(--ui-border);border-radius:6px;align-items:center;gap:.3rem;padding:.35rem .6rem;font-size:.8rem;font-weight:500;transition:border-color .2s;display:inline-flex}.custom-theme-btn.active.svelte-u8uo5a{border-color:var(--accent-color)}.custom-theme-btn.svelte-u8uo5a:hover{background:var(--ui-hover)}.custom-theme-swatch.svelte-u8uo5a{border:2px solid;border-radius:3px;flex-shrink:0;width:14px;height:14px}.custom-theme-name.svelte-u8uo5a{text-overflow:ellipsis;white-space:nowrap;max-width:80px;overflow:hidden}.custom-theme-add.svelte-u8uo5a{opacity:.6;border-radius:6px;align-items:center;gap:.3rem;margin-top:.5rem;padding:.3rem .6rem;font-size:.78rem;transition:opacity .15s,background .15s;display:inline-flex}.custom-theme-add.svelte-u8uo5a:hover{opacity:.85;background:var(--ui-hover)}.custom-theme-add-icon.svelte-u8uo5a{font-size:1rem;font-weight:300;line-height:1}.theme-select.svelte-u8uo5a{border:1px solid var(--ui-border);background:var(--paper-color);border-radius:6px;width:100%;padding:.5rem;font-size:.9rem}.theme-range.svelte-u8uo5a{width:100%;accent-color:var(--accent-color)}.theme-close.svelte-u8uo5a{background:var(--accent-color);color:#fff;border-radius:6px;width:100%;margin-top:.5rem;padding:.6rem;font-size:.9rem;font-weight:600}.reader.svelte-c8ah4v{background:var(--paper-color);color:var(--text-color);z-index:100;position:fixed;inset:0;overflow:hidden}.loading.svelte-c8ah4v{opacity:.5;justify-content:center;align-items:center;height:100%;display:flex}.viewport.svelte-c8ah4v{touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.page.svelte-c8ah4v{box-sizing:border-box;position:absolute;inset:0;overflow:hidden}.columns.svelte-c8ah4v{column-fill:auto;background-color:var(--paper-color);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;width:100%;height:100%}.columns.svelte-c8ah4v p{text-indent:1.5em;orphans:2;widows:2;margin:0}.columns.svelte-c8ah4v h1,.columns.svelte-c8ah4v h2,.columns.svelte-c8ah4v h3,.columns.svelte-c8ah4v h4,.columns.svelte-c8ah4v h5,.columns.svelte-c8ah4v h6{text-align:center;break-after:avoid;break-inside:avoid;margin-top:2em;margin-bottom:.8em;line-height:1.3}.columns.svelte-c8ah4v h2{font-size:1.3em}.columns.svelte-c8ah4v h3{font-size:1.05em;font-weight:600}.columns.svelte-c8ah4v img{break-inside:avoid;max-width:100%;max-height:70vh;margin:1em auto;display:block}.columns.svelte-c8ah4v img.illustration{mix-blend-mode:multiply}[data-theme=dark] .columns.svelte-c8ah4v img.illustration{filter:invert();mix-blend-mode:multiply}.columns.svelte-c8ah4v blockquote{border-left:2px solid var(--accent-color,#8b6914);margin:.8em 0;padding:0 0 0 1.5em;font-style:italic}.columns.svelte-c8ah4v blockquote p{text-indent:0}.columns.svelte-c8ah4v hr{text-align:center;break-inside:avoid;break-after:avoid;border:none;margin:1.5em 0}.columns.svelte-c8ah4v hr:after{content:"* * *";letter-spacing:.5em;opacity:.4}.columns.svelte-c8ah4v .italic-block{margin:.8em 0;padding-left:1.5em;font-style:italic}.columns.svelte-c8ah4v .italic-block p{text-indent:0;margin-bottom:3px}.columns.svelte-c8ah4v .sidenote{opacity:.7;border-left:2px solid var(--accent-color,#8b6914);margin:.6em 0;padding:.4em 0 .4em 1em;font-size:.82em;line-height:1.5;display:block}.columns.svelte-c8ah4v .noteref{color:var(--accent-color,#8b6914);vertical-align:super;font-size:.75em;font-weight:600}.bar.svelte-c8ah4v{z-index:50;align-items:center;padding:.5rem 1.25rem;display:flex;position:absolute;left:0;right:0}.bottom.svelte-c8ah4v{opacity:.4;pointer-events:none;justify-content:space-between;font-size:.7rem;bottom:0}.bar-left.svelte-c8ah4v{text-overflow:ellipsis;white-space:nowrap;max-width:65%;overflow:hidden}.bar-right.svelte-c8ah4v{white-space:nowrap}.top.svelte-c8ah4v{background:var(--ui-bg);border-bottom:1px solid var(--ui-border);gap:.75rem;top:0}.bar-title.svelte-c8ah4v{opacity:.7;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;font-weight:600;overflow:hidden}.bar-actions.svelte-c8ah4v{gap:.25rem;display:flex}.btn.svelte-c8ah4v{border-radius:6px;padding:.4rem .75rem;font-size:.8rem;transition:background .15s}.btn.svelte-c8ah4v:hover{background:var(--ui-hover)}.panel.svelte-c8ah4v{background:var(--ui-bg);border:1px solid var(--ui-border);box-shadow:0 4px 20px var(--shadow-color);z-index:60;border-radius:10px;position:absolute;top:3rem;right:1rem}.ch-panel.svelte-c8ah4v{width:280px;max-height:60vh;padding:.25rem;overflow-y:auto}.ch-item.svelte-c8ah4v{text-align:left;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.8rem;display:block;overflow:hidden}.ch-item.svelte-c8ah4v:hover{background:var(--ui-hover)}.ch-item.active.svelte-c8ah4v{background:var(--accent-color);color:#fff}.ch-n.svelte-c8ah4v{opacity:.5;font-size:.7rem}.th-panel.svelte-c8ah4v{width:260px}.page-view.svelte-1yjerzq{flex-shrink:0}.page-view.svelte-1yjerzq .typeset-line{display:block;overflow:visible}.page-view.svelte-1yjerzq .typeset-heading{display:block}.page-view.svelte-1yjerzq .typeset-separator{text-align:center;display:block}.page-view.svelte-1yjerzq .margin-note{box-sizing:border-box;overflow:hidden}.page-view.svelte-1yjerzq .margin-note sup{vertical-align:super;line-height:0}.page-view.svelte-1yjerzq .footnote-area{box-sizing:border-box}.page-view.svelte-1yjerzq .footnote-area hr{margin:12px 0}.page-view.svelte-1yjerzq .footnote sup,.page-view.svelte-1yjerzq .typeset-line sup{vertical-align:super;line-height:0}.spread-view.svelte-19kjngy{position:relative;overflow:hidden}.spread-container.svelte-19kjngy{will-change:transform;width:100%;height:100%;display:flex}.slide-in-left.svelte-19kjngy{animation:svelte-19kjngy-slideFromRight var(--slide-duration,.25s) ease-out}.slide-in-right.svelte-19kjngy{animation:svelte-19kjngy-slideFromLeft var(--slide-duration,.25s) ease-out}@keyframes svelte-19kjngy-slideFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes svelte-19kjngy-slideFromLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.theme-panel-backdrop.svelte-1oi1sx1{z-index:100;-webkit-backdrop-filter:blur(4px);background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.theme-panel.svelte-1oi1sx1{border-radius:12px;min-width:280px;max-width:360px;padding:20px;box-shadow:0 8px 32px #00000026}.panel-header.svelte-1oi1sx1{opacity:.5;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-size:.85rem;font-weight:600}.theme-options.svelte-1oi1sx1{gap:12px;display:flex}.theme-card.svelte-1oi1sx1{cursor:pointer;text-align:left;border:2px solid #0000;border-radius:8px;flex-direction:column;flex:1;gap:10px;padding:16px 12px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.theme-card.svelte-1oi1sx1:hover{box-shadow:0 2px 8px #0000001a}.theme-card.active.svelte-1oi1sx1{box-shadow:0 2px 12px #0000001f}.preview-lines.svelte-1oi1sx1{flex-direction:column;gap:4px;min-height:48px;display:flex}.preview-heading.svelte-1oi1sx1{margin-bottom:2px;display:block}.preview-body.svelte-1oi1sx1{text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.theme-name.svelte-1oi1sx1{opacity:.6;font-size:.78rem;font-weight:600}.view-reader.svelte-133s9y5{position:fixed;inset:0;overflow:hidden}.loading-state.svelte-133s9y5,.error-state.svelte-133s9y5{opacity:.5;justify-content:center;align-items:center;height:100%;font-size:1rem;display:flex}.error-state.svelte-133s9y5{color:#c0392b;opacity:.8}.viewport.svelte-133s9y5{touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.page-container.svelte-133s9y5{padding:56px 48px;position:absolute;inset:0;overflow:hidden}.placeholder-note.svelte-133s9y5{opacity:.4;text-align:center;font-style:italic;text-indent:0!important;margin-top:2rem!important;font-size:.85rem!important}.page-indicator.svelte-133s9y5{opacity:.3;pointer-events:none;z-index:10;font-size:.7rem;position:fixed;bottom:8px;left:50%;transform:translate(-50%)}.controls-overlay.svelte-133s9y5{pointer-events:none;z-index:50;opacity:0;transition:opacity .25s;position:fixed;inset:0}.controls-overlay.visible.svelte-133s9y5{opacity:1;pointer-events:auto}.controls-bar.svelte-133s9y5{-webkit-backdrop-filter:blur(10px);align-items:center;padding:.5rem 1rem;display:flex;position:absolute;left:0;right:0}.top-bar.svelte-133s9y5{border-bottom:1px solid #00000014;gap:.75rem;top:0}.bottom-bar.svelte-133s9y5{border-top:1px solid #00000014;flex-direction:column;padding:0;bottom:0}.bar-title.svelte-133s9y5{opacity:.7;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;font-weight:600;overflow:hidden}.ctrl-btn.svelte-133s9y5{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .75rem;font-size:.8rem;transition:background .15s}.ctrl-btn.svelte-133s9y5:hover{background:#0000000f}.theme-btn.svelte-133s9y5{opacity:.7;font-weight:500}.chapter-list.svelte-133s9y5{-webkit-overflow-scrolling:touch;gap:0;width:100%;padding:.25rem;display:flex;overflow-x:auto}.ch-item.svelte-133s9y5{color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:none;padding:.5rem .75rem;font-size:.78rem;transition:background .15s}.ch-item.svelte-133s9y5:hover{background:#0000000f}.ch-item.active.svelte-133s9y5{color:#fff}.ch-num.svelte-133s9y5{opacity:.5;font-size:.7rem}html,body{overscroll-behavior:none;width:100%;height:100%;margin:0;padding:0;overflow:hidden}#app.svelte-1n46o8q{width:100%;height:100dvh;overflow:hidden}
