@font-face{font-family:Lato;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/lato-v25-latin-300.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:italic;font-weight:300;font-display:swap;src:url(/fonts/lato-v25-latin-300-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/lato-v25-latin-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/lato-v25-latin-400-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/lato-v25-latin-700.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/lato-v25-latin-700-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hack-ZeroSlash;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/hack-v3-regular.woff2)format("woff2")}@font-face{font-family:Hack-ZeroSlash;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/hack-v3-italic.woff2)format("woff2")}@font-face{font-family:Hack-ZeroSlash;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/hack-v3-bold.woff2)format("woff2")}@font-face{font-family:Hack-ZeroSlash;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/hack-v3-bold-italic.woff2)format("woff2")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{--theme-color:#0a0a23;--yellow-gold:#ffbf00;--gray-00:#fff;--gray-00-translucent:#ffffffd9;--gray-05:#f5f6f7;--gray-10:#dfdfe2;--gray-15:#d0d0d5;--gray-45:#858591;--gray-75:#3b3b4f;--gray-80:#2a2a40;--gray-85:#1b1b32;--gray-90:#0a0a23;--gray-90-translucent:#0a0a23d9;--purple-light:#dbb8ff;--purple-dark:#5a01a7;--purple-mid:#9400d3;--yellow-light:#ffc300;--yellow-dark:#4d3800;--blue-light:#99c9ff;--blue-light-translucent:#99c9ff4d;--blue-dark:#002ead;--blue-dark-translucent:#002ead4d;--blue-mid:#198eee;--green-light:#acd157;--green-dark:#00471b;--red-light:#ffadad;--red-dark:#850000;--love-light:#f8577c;--love-dark:#f82153;--editor-background-light:#fffffe;--editor-background-dark:#2a2b40;--focus-outline-color:var(--blue-mid);--font-family-sans:Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono:Hack-ZeroSlash, "Fira Mono", Menlo, Consolas, monospace;font-size:18px;font-family:var(--font-family-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,html[data-app-theme=dark]{--primary-color:var(--gray-00);--primary-color-translucent:var(--gray-00-translucent);--secondary-color:var(--gray-05);--tertiary-color:var(--gray-10);--quaternary-color:var(--gray-15);--primary-background:var(--gray-90);--primary-background-translucent:var(--gray-90-translucent);--secondary-background:var(--gray-85);--tertiary-background:var(--gray-80);--quaternary-background:var(--gray-75);--highlight-color:var(--blue-light);--highlight-background:var(--blue-dark);--selection-color:var(--blue-light-translucent);--success-color:var(--green-light);--success-background:var(--green-dark);--danger-color:var(--red-light);--danger-background:var(--red-dark);--yellow-color:var(--yellow-light);--yellow-background:var(--yellow-dark);--purple-color:var(--purple-light);--purple-background:var(--purple-dark);--love-color:var(--love-light);--editor-background:var(--editor-background-dark);--app-bg:var(--primary-background);--app-surface:var(--secondary-background);--app-surface-subtle:var(--tertiary-background);--app-surface-muted:var(--quaternary-background);--app-border:var(--quaternary-background);--app-border-subtle:var(--tertiary-background);--app-text:var(--primary-color);--app-text-muted:var(--quaternary-color);--app-text-subtle:var(--gray-45);--app-text-faint:var(--gray-45);--app-primary:var(--yellow-gold);--app-primary-text:var(--gray-90);--app-primary-hover:var(--yellow-light);--app-link:var(--highlight-color);--app-success:var(--success-color);--app-success-bg:var(--success-background);--app-danger:var(--danger-color);--app-danger-bg:var(--danger-background);--app-danger-active-text:var(--primary-background);--app-warning-bg:var(--yellow-background);--app-warning-border:var(--yellow-color);--app-warning-subtle:color-mix(in srgb, var(--yellow-background) 68%, transparent);--app-selected-text:var(--gray-00);--app-overlay:#0a0a234d;--app-overlay-subtle:#0a0a232e;--app-shadow:0 8px 28px #0a0a2338;--app-inset-border:inset 0 0 0 1px #ffffff24;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-app-theme=light]{--primary-color:var(--gray-90);--primary-color-translucent:var(--gray-90-translucent);--secondary-color:var(--gray-85);--tertiary-color:var(--gray-80);--quaternary-color:var(--gray-75);--primary-background:var(--gray-00);--primary-background-translucent:var(--gray-00-translucent);--secondary-background:var(--gray-05);--tertiary-background:var(--gray-10);--quaternary-background:var(--gray-15);--highlight-color:var(--blue-dark);--highlight-background:var(--blue-light);--selection-color:var(--blue-dark-translucent);--success-color:var(--green-dark);--success-background:var(--green-light);--danger-color:var(--red-dark);--danger-background:var(--red-light);--yellow-color:var(--yellow-dark);--yellow-background:var(--yellow-light);--purple-color:var(--purple-dark);--purple-background:var(--purple-light);--love-color:var(--love-dark);--editor-background:var(--editor-background-light);--app-bg:var(--primary-background);--app-surface:var(--secondary-background);--app-surface-subtle:var(--tertiary-background);--app-surface-muted:var(--quaternary-background);--app-border:var(--quaternary-background);--app-border-subtle:var(--tertiary-background);--app-text:var(--primary-color);--app-text-muted:var(--quaternary-color);--app-text-subtle:var(--gray-45);--app-text-faint:var(--gray-45);--app-primary:var(--yellow-gold);--app-primary-text:var(--gray-90);--app-primary-hover:var(--yellow-light);--app-link:var(--highlight-color);--app-success:var(--success-color);--app-success-bg:var(--success-background);--app-danger:var(--danger-color);--app-danger-bg:var(--danger-background);--app-danger-active-text:var(--primary-background);--app-warning-bg:color-mix(in srgb, var(--yellow-background) 35%, var(--primary-background));--app-warning-border:var(--yellow-color);--app-warning-subtle:color-mix(in srgb, var(--yellow-background) 20%, var(--primary-background));--app-selected-text:var(--gray-00);--app-overlay:#0a0a234d;--app-overlay-subtle:#0a0a232e;--app-shadow:0 8px 28px #0a0a2324;--app-inset-border:inset 0 0 0 1px #0a0a231f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (width<=499px){html{font-size:17px}}body{background-color:var(--app-bg);min-height:100dvh;color:var(--app-text);line-height:1.5}button,input,select,textarea{font:inherit}button{color:inherit}a{color:var(--app-link)}::selection{background:var(--selection-color)}:focus-visible{outline:2px solid var(--focus-outline-color);outline-offset:2px}*{scrollbar-color:var(--app-text-subtle) var(--app-bg);scrollbar-width:thin}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--app-bg)}::-webkit-scrollbar-thumb{border:3px solid var(--app-bg);background:var(--app-text-subtle)}.app-shell{background:var(--app-bg);height:100dvh;color:var(--app-text);position:relative;overflow:hidden}.app-notice-banner{border:1px solid var(--app-border);background:var(--app-surface);width:min(100% - 48px,1360px);color:var(--app-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.app-notice-banner-inline{margin:12px auto}.app-notice-banner-fixed{z-index:150;box-shadow:var(--app-shadow);position:fixed;top:56px;left:50%;transform:translate(-50%)}.app-notice-banner-content h2{color:var(--app-text);margin-bottom:2px;font-size:1rem;font-weight:700}.app-notice-banner-content p{color:var(--app-text-muted);font-size:1rem;line-height:1.4}.app-notice-banner-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}@media (width<=760px){.app-notice-banner-fixed{width:calc(100% - 24px);top:12px}}.header-spacer{width:50px}.btn-text,.btn-primary,.btn-secondary,.btn-danger{cursor:pointer;border-radius:0;min-height:44px;font-weight:700;line-height:1.2;transition:background .15s,border-color .15s,color .15s,opacity .15s}.btn-text{color:var(--app-text);background:0 0;border:1px solid #0000;padding:8px 10px}.btn-text:hover{background:var(--app-surface-muted)}.btn-primary{border:1px solid var(--app-primary);background:var(--app-primary);color:var(--app-primary-text);padding:9px 16px}.btn-primary:hover{background:var(--app-primary-hover);border-color:var(--app-primary-hover)}.btn-secondary{border:1px solid var(--app-text);color:var(--app-text);background:0 0;padding:9px 16px}.btn-secondary:hover{background:var(--app-surface-muted)}.btn-danger{border:1px solid var(--app-danger);background:var(--app-danger-bg);color:var(--app-danger);padding:9px 16px}.btn-danger:hover{background:var(--app-danger);color:var(--app-danger-active-text)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-text:disabled{cursor:not-allowed;opacity:.45}.btn-compact{min-height:38px;padding:4px 10px}.btn-nav{border-radius:0;min-height:36px;padding:4px 16px;font-weight:400}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--highlight-color)}.library{background:var(--app-bg);flex-direction:column;height:100%;display:flex}.library-loading{height:100%;color:var(--app-text-subtle);justify-content:center;align-items:center;display:flex}.library-header{border-bottom:1px solid var(--app-border);background:var(--app-bg);align-items:center;gap:12px;min-height:48px;padding:5px 20px;display:flex;position:relative}.library-title{text-align:center;max-width:min(42vw,460px);font-family:var(--font-family-mono);color:var(--app-text);white-space:nowrap;pointer-events:none;font-size:1.25rem;font-weight:400;line-height:1;position:absolute;left:50%;transform:translate(-50%)}.library-actions{flex-shrink:0;gap:8px;margin-left:auto;display:flex}.selection-bar{background:var(--app-surface-subtle);border-bottom:1px solid var(--app-border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex}.selection-count{color:var(--app-text-muted);margin-left:auto;font-size:1rem}.library-content{flex:1;padding:24px;overflow-y:auto}.library-search-row{z-index:1;flex:0 clamp(280px,32vw,592px);align-items:center;gap:8px;display:flex}.library-search{flex:auto;align-items:center;min-width:0;display:flex;position:relative}.library-search-icon{color:var(--app-text-subtle);pointer-events:none;position:absolute;left:10px}.library-search-input{border:1px solid var(--app-border);background:var(--app-surface);width:100%;min-height:36px;color:var(--app-text);border-radius:0;padding:4px 12px 4px 42px;font-size:1rem;line-height:1.2}.library-search-input::placeholder{color:var(--app-text-subtle)}.library-search-input:focus-visible{outline-offset:-2px}.library-search-input:disabled{opacity:.55;cursor:not-allowed}.library-mobile-menu{flex:none;display:none;position:relative}.library-menu-button{white-space:nowrap}.library-menu-popover{z-index:10;border:1px solid var(--app-border);background:var(--app-surface);flex-direction:column;gap:4px;min-width:160px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.library-menu-action{justify-content:center;width:100%;display:flex}.library-menu-button[aria-expanded=true]{background:var(--app-surface-muted);border-color:var(--highlight-color)}@media (width<=760px){.library-header{flex-wrap:wrap;justify-content:center;padding:8px 12px}.library-title{order:-2;width:100%;max-width:none;position:static;transform:none}.library-search{width:100%}.library-search-row{flex:0 0 100%;order:-1;width:100%}.library-actions{display:none}.library-mobile-menu{display:block}}.library-section{width:min(100%,1360px);margin:0 auto 24px}.library-section-title{font-family:var(--font-family-sans);text-transform:none;letter-spacing:0;color:var(--app-text);margin-bottom:12px;font-size:1rem;font-weight:700}.book-grid{grid-template-columns:repeat(auto-fill,minmax(156px,204px));gap:18px;display:grid}.book-card{border:1px solid var(--app-border);background:var(--app-surface);width:100%;color:var(--app-text);cursor:pointer;text-align:left;border-radius:0;padding:10px;transition:background .15s,border-color .15s,transform .15s;display:block;position:relative;overflow:hidden}.book-card:hover,.book-card:focus-visible{background:var(--app-surface-subtle);border-color:var(--highlight-color);transform:translateY(-2px)}.book-card-selected{outline:2px solid var(--highlight-color);outline-offset:2px;border-radius:0}.book-card-check{z-index:2;position:absolute;top:4px;left:4px}.book-card-check input{width:18px;height:18px;accent-color:var(--highlight-color)}.book-card-cover{aspect-ratio:2/3;background:var(--app-border);border-radius:0;justify-content:center;align-items:center;margin-bottom:10px;display:flex;overflow:hidden}.book-card-cover img{object-fit:cover;width:100%;height:100%}.book-card-cover-placeholder{color:var(--app-text-faint);background:var(--app-surface-muted);justify-content:center;align-items:center;width:100%;height:100%;font-size:36px;font-weight:700;display:flex}.book-card-info{padding:0 2px}.book-card-title{color:var(--app-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:1rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.book-card-author{color:var(--app-text-muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-bottom:8px;font-size:1rem;line-height:1.3;display:-webkit-box;overflow:hidden}.book-card-progress{align-items:center;gap:6px;display:flex}.progress-bar{background:var(--app-border);border-radius:0;flex:1;height:4px;overflow:hidden}.progress-bar-fill{background:var(--success-color);border-radius:0;height:100%;transition:width .3s}.progress-label{font-family:var(--font-family-sans);font-variant-numeric:tabular-nums;color:var(--app-text-subtle);text-align:right;min-width:36px;font-size:1rem}.library-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:min(100%,760px);height:60vh;margin:0 auto;display:flex}@media (width<=760px){.library-content{padding:18px}}.library-empty p{color:var(--app-text-muted);font-size:1rem}.library-empty-sub{max-width:280px;margin-bottom:12px;color:var(--app-text-subtle)!important;font-size:1rem!important}.import-epub{background:var(--app-bg);flex-direction:column;justify-content:center;align-items:center;height:100%;padding:32px;display:flex}.import-epub-panel{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:420px;display:flex}.import-epub h2{color:var(--app-text);font-size:1.2rem;font-weight:700}.import-epub p{color:var(--app-text-muted);max-width:340px;font-size:1rem;line-height:1.5}.import-epub .btn-primary,.import-epub .btn-secondary,.import-epub .btn-text{margin:4px 0}.import-epub-choose,.import-epub-importing{flex-direction:column;align-items:center;gap:8px;display:flex}.import-epub-importing p{color:var(--app-text-subtle);font-size:1rem}.import-epub-success{flex-direction:column;align-items:center;gap:8px;display:flex}.import-epub-success h2{color:var(--app-success)}.import-epub-success .import-epub-book-title{color:var(--app-text);font-size:1rem;font-weight:700}.import-epub-success .import-epub-book-author{color:var(--app-text-muted);font-size:1rem}.import-epub-success p{margin-bottom:4px}.import-epub-success-actions{flex-direction:column;align-items:center;gap:10px;margin-top:8px;display:flex}.import-epub-error{text-align:center;flex-direction:column;align-items:center;gap:8px;max-width:420px;display:flex}.import-epub-error h2{color:var(--app-danger)}.import-epub-error p{color:var(--app-text-muted)}.import-epub-error a{color:var(--app-link)}.archive-flow-screen{background:var(--app-bg);flex-direction:column;height:100%;display:flex}.archive-flow-header{border-bottom:1px solid var(--app-border);align-items:center;gap:8px;min-height:38px;padding:3px 16px;display:flex}.archive-flow-title{font-family:var(--font-family-sans);text-align:center;color:var(--app-text);flex:1;font-size:1rem;font-weight:700}.archive-flow-header-spacer{width:50px}.archive-flow-content{flex:1;width:min(100%,760px);margin:0 auto;padding:16px;overflow-y:auto}.archive-flow-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.archive-flow-summary{color:var(--app-text-subtle);font-family:var(--font-family-mono);margin-bottom:12px;font-size:1rem}.archive-flow-status{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:55vh;display:flex}.archive-flow-status h2{color:var(--app-text);font-size:1.2rem;line-height:1.25}.archive-flow-status p{max-width:460px;color:var(--app-text-muted);line-height:1.45}.archive-flow-book-list{margin-bottom:16px}.archive-flow-book-item{border:1px solid var(--app-border);background:var(--app-surface);border-radius:0;align-items:center;gap:10px;margin-bottom:6px;padding:12px;display:flex}.archive-flow-book-item input[type=checkbox]{width:18px;height:18px}.archive-flow-book-info{flex:1;min-width:0}.archive-flow-book-title{color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:700;overflow:hidden}.archive-flow-book-author{color:var(--app-text-muted);font-size:1rem}.archive-flow-note{color:var(--app-text-muted);margin-bottom:16px;font-size:1rem;line-height:1.4}.archive-flow-warning{border:1px solid var(--app-warning-border);background:var(--app-warning-bg);border-radius:0;margin-bottom:12px;padding:12px}.archive-flow-warning h3{color:var(--app-text);margin-bottom:4px;font-size:1rem;font-weight:700}.archive-flow-warning p{color:var(--app-text-muted);font-size:1rem;line-height:1.4}.archive-flow-book-warning{background:var(--app-warning-subtle);border-radius:0;margin:0 -8px;padding:10px 8px}.archive-flow-book-status{color:var(--app-text-muted);flex-direction:column;gap:2px;margin-top:4px;font-size:1rem;line-height:1.35;display:flex}.archive-flow-footer{border-top:1px solid var(--app-border);background:var(--app-bg);padding:16px}.archive-flow-footer .btn-primary{width:100%}.reader{--reader-topbar-height:56px;--reader-bottombar-height:64px;--reader-page-bottom-gutter:32px;--reader-viewer-inline-gutter:clamp(64px, 16vw, 320px);--reader-viewer-max-width:1180px;--reader-viewer-two-inline-gutter:clamp(64px, 14vw, 280px);--reader-viewer-two-max-width:1180px;flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.reader-margin-narrow{--reader-viewer-inline-gutter:48px;--reader-viewer-max-width:1420px;--reader-viewer-two-inline-gutter:64px;--reader-viewer-two-max-width:1420px}.reader-margin-medium{--reader-viewer-inline-gutter:clamp(64px, 16vw, 320px);--reader-viewer-max-width:1180px;--reader-viewer-two-inline-gutter:clamp(64px, 14vw, 280px);--reader-viewer-two-max-width:1180px}.reader-margin-wide{--reader-viewer-inline-gutter:clamp(96px, 28vw, 520px);--reader-viewer-max-width:920px;--reader-viewer-two-inline-gutter:clamp(96px, 24vw, 460px);--reader-viewer-two-max-width:980px}.reader:fullscreen{width:100%;height:100%}.reader::backdrop{background:var(--primary-background)}.reader-theme-light{background:#faf8f2}.reader-theme-dark{background:#1c1c1e}.reader-theme-black{background:#000}.reader-viewer{top:var(--reader-topbar-height);bottom:calc(var(--reader-bottombar-height) + var(--reader-page-bottom-gutter));width:min(calc(100% - var(--reader-viewer-inline-gutter)), var(--reader-viewer-max-width));touch-action:pan-y;z-index:1;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.reader-layout-two .reader-viewer{width:min(calc(100% - var(--reader-viewer-two-inline-gutter)), var(--reader-viewer-two-max-width))}@media (width<=700px){.reader-margin-narrow{--reader-viewer-inline-gutter:24px;--reader-viewer-two-inline-gutter:24px}.reader-margin-medium{--reader-viewer-inline-gutter:48px;--reader-viewer-two-inline-gutter:48px}.reader-margin-wide{--reader-viewer-inline-gutter:72px;--reader-viewer-two-inline-gutter:72px}}.reader-controls{z-index:2;pointer-events:none;flex-direction:column;justify-content:space-between;transition:opacity .25s;display:flex;position:absolute;inset:0}.reader-controls-hidden{opacity:0}.reader-controls-hidden>*{pointer-events:none}.reader-controls>*{pointer-events:auto}.reader-topbar{min-height:var(--reader-topbar-height);box-sizing:border-box;background:var(--primary-background-translucent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--app-border);align-items:center;gap:8px;padding:8px 12px;display:flex}.reader-back{white-space:nowrap;align-items:center;gap:6px;font-size:1rem;display:inline-flex}.reader-book-title{text-align:center;text-overflow:ellipsis;white-space:nowrap;color:var(--app-text);flex:1;font-size:1rem;font-weight:400;overflow:hidden}.reader-topbar-actions{gap:4px;display:flex}.reader-fullscreen{white-space:nowrap}.reader-bottombar{min-height:var(--reader-bottombar-height);box-sizing:border-box;background:var(--primary-background-translucent);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--app-border);justify-content:space-between;align-items:center;padding:8px 16px 16px;display:flex}.reader-page-count{font-variant-numeric:tabular-nums;text-align:center;min-width:132px;color:var(--app-text-muted);flex-direction:column;align-items:center;gap:2px;font-size:1rem;line-height:1.25;display:flex}.reader-page-count-main{color:inherit}.reader-page-count-chapter{color:var(--app-text-subtle);font-size:1rem}.reader-drawer-overlay{z-index:80;background:var(--app-overlay-subtle);opacity:0;pointer-events:none;justify-content:flex-end;transition:opacity .22s;display:flex;position:fixed;inset:0}.reader-drawer-open{opacity:1;pointer-events:auto}.reader-drawer-panel{border:1px solid var(--app-border);background:var(--app-surface);border-radius:0;flex-direction:column;width:min(420px,100vw - 24px);height:calc(100% - 24px);margin:12px;transition:transform .24s;display:flex;overflow:hidden;transform:translate(calc(100% + 24px))}.reader-drawer-open .reader-drawer-panel{transform:translate(0)}.dictionary-panel{width:min(380px,100vw - 24px)}.reader-toc-header{border-bottom:1px solid var(--app-border);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px 14px;display:flex}.reader-toc-header h2{color:var(--app-text);margin:0;font-size:1rem;font-weight:700}.reader-toc-header p{color:var(--app-text-muted);margin:3px 0 0;font-size:1rem}.reader-toc-close{font-size:22px;line-height:1}.reader-toc-list{flex:1;padding:8px 0;overflow-y:auto}.reader-toc-message{text-align:center;color:var(--app-text-muted);margin:0;padding:24px 18px;font-size:1rem}.reader-toc-item{border:0;border-bottom:1px solid var(--app-border-subtle);width:100%;min-height:44px;color:var(--app-text);text-align:left;cursor:pointer;background:0 0;padding:11px 18px;font-size:1rem;line-height:1.35;display:block}.reader-toc-item:hover{background:var(--app-surface-subtle)}.dictionary-message,.dictionary-empty,.dictionary-definition{flex:1;min-height:0;padding:18px;overflow-y:auto}.dictionary-message,.dictionary-empty{color:var(--app-text-muted);font-size:1rem;line-height:1.45}.dictionary-empty{flex-direction:column;gap:10px;display:flex}.dictionary-definition h3,.dictionary-empty h3{color:var(--app-text);font-size:22px;font-weight:700}.dictionary-lemma{color:var(--app-text-muted);margin-top:4px;font-size:1rem}.dictionary-definition section{margin-top:18px}.dictionary-definition h4{color:var(--app-text-muted);text-transform:uppercase;margin-bottom:8px;font-size:1rem;font-weight:700}.dictionary-definition ul{flex-direction:column;gap:8px;padding-left:18px;display:flex}.dictionary-definition li{color:var(--app-text);font-size:1rem;line-height:1.5}.dictionary-actions{align-items:center;gap:8px;margin-top:2px;display:flex}.dictionary-progress{color:var(--app-text-muted);font-size:1rem}.appearance-overlay{background:var(--app-overlay);z-index:100}.appearance-panel{width:min(360px,100vw - 24px)}.appearance-panel-content{flex:1;padding:18px;overflow-y:auto}.appearance-section{margin-bottom:24px}.appearance-section h4{text-transform:uppercase;letter-spacing:.5px;color:var(--app-text-muted);margin-bottom:10px;font-size:1rem;font-weight:700}.appearance-helper{color:var(--app-text-subtle);margin-top:8px;font-size:1rem;line-height:1.35}.theme-options{gap:8px;display:flex}.theme-btn{border:2px solid var(--app-border);background:var(--app-surface);cursor:pointer;color:var(--app-text);border-radius:0;flex-direction:column;flex:1;align-items:center;gap:8px;padding:12px;font-size:1rem;font-weight:400;transition:all .15s;display:flex}.theme-btn:hover{border-color:var(--app-text-muted)}.theme-btn-active{border-color:var(--highlight-color);background:var(--highlight-background);color:var(--primary-color)}.theme-btn-swatch{border:1px solid var(--app-border);width:28px;height:28px;box-shadow:var(--app-inset-border);border-radius:50%}.font-size-slider-control{align-items:center;gap:12px;min-height:44px;display:flex}.font-size-slider-label{text-align:center;color:var(--app-text);font-weight:700;line-height:1}.font-size-slider-label-small{font-size:1rem}.font-size-slider-label-large{font-size:24px}.font-size-slider{appearance:none;cursor:pointer;background:0 0;flex:1;min-width:0;height:28px}.font-size-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--highlight-color) 0 var(--font-size-progress), var(--app-border) var(--font-size-progress) 100%);border-radius:999px;height:4px}.font-size-slider::-webkit-slider-thumb{appearance:none;border:2px solid var(--app-text);background:var(--app-surface);border-radius:50%;width:20px;height:20px;margin-top:-8px}.font-size-slider::-moz-range-track{background:var(--app-border);border-radius:999px;height:4px}.font-size-slider::-moz-range-progress{background:var(--highlight-color);border-radius:999px;height:4px}.font-size-slider::-moz-range-thumb{border:2px solid var(--app-text);background:var(--app-surface);border-radius:50%;width:18px;height:18px}.layout-options,.margin-options{gap:8px;display:flex}.layout-btn{border:2px solid var(--app-border);background:var(--app-surface);min-width:0;color:var(--app-text);cursor:pointer;border-radius:0;flex-direction:column;flex:1;align-items:center;gap:8px;padding:12px 8px;font-size:1rem;font-weight:400;transition:border-color .15s,background .15s,opacity .15s;display:flex}.layout-btn:hover:not(:disabled){border-color:var(--app-text-muted)}.layout-btn:disabled{cursor:not-allowed;opacity:.45}.layout-btn-active{border-color:var(--highlight-color);background:var(--highlight-background);color:var(--primary-color)}.layout-btn-icon{border:1px solid;border-radius:0;flex-direction:column;justify-content:center;gap:4px;width:60px;height:36px;display:flex}.layout-btn-line{background:currentColor;border-radius:999px;height:2px;margin:0 auto;display:block}.layout-btn-line-wide{width:42px}.layout-btn-line-split{background:linear-gradient(90deg,currentColor 0 18px,#0000 18px 24px,currentColor 24px 42px);width:42px}.margin-btn{flex:1}.margin-btn-icon{border:1px solid;border-radius:0;flex-direction:column;justify-content:center;gap:5px;width:60px;height:36px;display:flex}.margin-btn-line-wide{width:42px}.margin-btn-line-medium{width:28px}.margin-btn-line-short{width:18px}.toc-screen{background:var(--app-bg);flex-direction:column;height:100%;display:flex}.toc-header{border-bottom:1px solid var(--app-border);align-items:center;gap:8px;min-height:38px;padding:3px 16px;display:flex}.toc-title{font-family:var(--font-family-sans);text-align:center;color:var(--app-text);flex:1;font-size:1rem;font-weight:700}.toc-list{flex:1;padding:8px 0;overflow-y:auto}.toc-loading,.toc-empty{text-align:center;color:var(--app-text-subtle);padding:24px 16px;font-size:1rem}.toc-item{text-align:left;width:100%;color:var(--app-text);cursor:pointer;border:none;border-bottom:1px solid var(--app-border-subtle);background:0 0;padding:12px 16px;font-size:1rem;line-height:1.4;transition:background .1s;display:block}.toc-item:hover{background:var(--app-surface-subtle)}.toc-item:active{background:var(--app-surface-muted)}.settings{background:var(--app-bg);flex-direction:column;height:100%;display:flex}.settings-header{border-bottom:1px solid var(--app-border);align-items:center;gap:8px;min-height:38px;padding:3px 16px;display:flex}.settings-title{font-family:var(--font-family-sans);text-align:center;color:var(--app-text);flex:1;font-size:1rem;font-weight:700}.settings-scroll{flex:1;overflow-y:auto}.settings-content{width:min(100%,760px);margin:0 auto;padding:16px}.settings-section{margin-bottom:24px}.settings-section-title{font-family:var(--font-family-sans);text-transform:none;letter-spacing:0;color:var(--app-text);margin-bottom:8px;padding-left:4px;font-size:1rem;font-weight:700}.settings-item{border:1px solid var(--app-border);background:var(--app-surface);width:100%;color:var(--app-text);cursor:pointer;border-radius:0;justify-content:space-between;align-items:center;margin-bottom:4px;padding:14px 16px;font-size:1rem;transition:background .1s,border-color .1s;display:flex}.settings-item:hover{background:var(--app-surface-subtle);border-color:var(--highlight-color)}.settings-item-static{cursor:default}.settings-item-static:hover{background:var(--app-surface);border-color:var(--app-border)}.settings-item-arrow{color:var(--app-text-faint);font-family:var(--font-family-sans);font-size:1rem}.settings-item-value{font-family:var(--font-family-sans);color:var(--app-text-subtle);font-size:1rem}.settings-item-stacked{flex-direction:column;align-items:stretch;gap:12px}.settings-item-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-segmented{border:1px solid var(--app-border);background:var(--app-surface-subtle);border-radius:0;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.settings-segment{min-width:0;min-height:44px;color:var(--app-text-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:0;padding:8px 10px;font-size:1rem;font-weight:400}.settings-segment-active{background:var(--highlight-background);color:var(--app-selected-text)}.settings-dictionary-meta{color:var(--app-text-muted);flex-direction:column;gap:4px;font-size:1rem;line-height:1.35;display:flex}.settings-progress{border:1px solid var(--app-border);background:var(--app-surface-subtle);min-height:34px;color:var(--app-text);font-family:var(--font-family-sans);border-radius:0;font-size:1rem;font-weight:700;position:relative;overflow:hidden}.settings-progress-bar{background:var(--highlight-color);opacity:.28;width:0;position:absolute;inset:0 auto 0 0}.settings-progress span{z-index:1;justify-content:center;align-items:center;min-height:34px;display:flex;position:relative}.settings-error{color:var(--app-danger);font-size:1rem;line-height:1.4}.settings-inline-button{align-self:flex-start}
