:root{--reader-font-size: 19px;--reader-line-height: 1.85;--reader-font-family: var(--font-sans)}.reader-page{background-color:var(--reader-bg);color:var(--reader-text);min-height:100vh;display:flex;flex-direction:column}.reader-progress-bar{position:fixed;top:0;left:0;height:3px;width:0%;background-color:var(--accent-color);z-index:100;transition:width .1s ease-out}.reader-header{position:sticky;top:0;z-index:40;background-color:var(--header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);padding-top:var(--sat);transition:transform .25s ease-in-out}.reader-header.is-hidden{transform:translateY(-100%)}.reader-header__inner{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 16px;gap:12px}.reader-header__title{font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.reader-header__actions{display:flex;align-items:center;gap:8px}.reader-container{width:100%;max-width:var(--content-width);margin-left:auto;margin-right:auto;padding:20px max(18px,var(--sal)) calc(80px + var(--sab)) max(18px,var(--sar))}.reader-title-area{margin-bottom:24px;text-align:center}.reader-novel-title{font-size:1rem;color:var(--accent-color);font-weight:600;margin-bottom:6px;display:block}.reader-chapter-title{font-size:1.4rem;font-weight:700;line-height:1.35;color:var(--reader-text)}.reader-chapter-meta{font-size:.85rem;color:var(--text-secondary);margin-top:8px;display:flex;align-items:center;justify-content:center;gap:12px}.reader-content{font-size:var(--reader-font-size);line-height:var(--reader-line-height);font-family:var(--reader-font-family);color:var(--reader-text);word-break:break-word;overflow-wrap:break-word}.reader-content p{margin-bottom:1.25em;text-indent:1.5em;text-align:var(--reader-text-align, justify)}.reader-toolbar{position:fixed;bottom:0;left:0;right:0;z-index:40;background-color:var(--toolbar-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border-color);padding-bottom:var(--sab);transition:transform .25s ease-in-out}.reader-toolbar.is-hidden{transform:translateY(100%)}.reader-toolbar__inner{display:flex;align-items:center;justify-content:space-around;height:54px;padding:0 16px}.reader-toolbar__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:transparent;border:none;color:var(--text-primary);font-size:.75rem;cursor:pointer;padding:6px 12px;border-radius:var(--radius)}.reader-toolbar__btn:hover{background-color:var(--bg-tertiary)}.reader-toolbar__btn.is-disabled{opacity:.35;pointer-events:none}body.settings-open{overflow:hidden!important}.settings-drawer{position:fixed;bottom:0;left:0;right:0;z-index:60;background-color:var(--bg-card);border-top:1px solid var(--border-color);border-top-left-radius:var(--radius-lg, 16px);border-top-right-radius:var(--radius-lg, 16px);box-shadow:0 -8px 24px #0003;padding:12px 20px calc(24px + var(--sab)) 20px;transform:translateY(100%);transition:transform .28s cubic-bezier(.16,1,.3,1);max-height:85vh;overflow-y:auto}@media(min-width:640px){.settings-drawer{max-width:500px;left:50%;transform:translate(-50%,100%);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color)}.settings-drawer.is-active{transform:translate(-50%)}}.settings-drawer.is-active{transform:translateY(0)}@media(min-width:640px){.settings-drawer.is-active{transform:translate(-50%)}}.settings-drawer__handle{width:40px;height:4px;background-color:var(--border-color);border-radius:2px;margin:0 auto 12px}.settings-drawer__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.settings-drawer__title{font-size:1.15rem;font-weight:700;margin:0;color:var(--text-primary)}.settings-close-btn{padding:4px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.settings-close-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.settings-drawer__body{display:flex;flex-direction:column;gap:16px}.settings-overlay{position:fixed;inset:0;background-color:#00000080;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:55;opacity:0;pointer-events:none;transition:opacity .2s ease}.settings-overlay.is-active{opacity:1;pointer-events:auto}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-label{font-size:.88rem;font-weight:600;color:var(--text-primary);flex-shrink:0;min-width:76px}.settings-options{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.settings-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 14px;border-radius:var(--radius);border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .15s ease}.settings-btn:hover{border-color:var(--accent-color)}.settings-btn.is-active{border-color:var(--accent-color);background-color:var(--accent-color);color:#fff;font-weight:600}.settings-theme-btn{padding:6px 12px}.theme-color-dot{width:14px;height:14px;border-radius:50%;display:inline-block}.dot--light{background-color:#fff;border:1px solid #adb5bd}.dot--sepia{background-color:#fbf0d9;border:1px solid #dcd1ba}.dot--dark{background-color:#12121e;border:1px solid #3a3a55}.font-size-controls{display:flex;align-items:center;gap:8px}.font-size-btn{width:38px;height:34px;padding:0}.font-size-value{font-weight:700;font-size:.95rem;min-width:48px;text-align:center;color:var(--accent-color)}body.toc-open{overflow:hidden!important}.toc-overlay{position:fixed;inset:0;background-color:#0000008c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:70;opacity:0;pointer-events:none;transition:opacity .25s ease}.toc-overlay.is-active{opacity:1;pointer-events:auto}.toc-drawer{position:fixed;bottom:0;left:0;right:0;height:82vh;max-height:85vh;z-index:75;background-color:var(--bg-card);border-top:1px solid var(--border-color);border-top-left-radius:var(--radius-lg, 16px);border-top-right-radius:var(--radius-lg, 16px);box-shadow:0 -8px 28px #00000040;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s cubic-bezier(.16,1,.3,1);overflow:hidden}.toc-drawer.is-active{transform:translateY(0)}@media(min-width:768px){.toc-drawer{inset:0 0 0 auto;width:440px;height:100vh;max-height:100vh;border-top:none;border-left:1px solid var(--border-color);border-radius:0;box-shadow:-8px 0 28px #00000040;transform:translate(100%)}.toc-drawer.is-active{transform:translate(0)}}.toc-drawer__handle{width:40px;height:4px;background-color:var(--border-color);border-radius:2px;margin:10px auto 4px;flex-shrink:0}@media(min-width:768px){.toc-drawer__handle{display:none}}.toc-drawer__header{padding:8px 16px 12px;border-bottom:1px solid var(--border-color);flex-shrink:0}.toc-drawer__title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.toc-drawer__title{font-size:1.15rem;font-weight:700;margin:0;color:var(--text-primary);line-height:1.25}.toc-drawer__subtitle{font-size:.8rem;color:var(--text-secondary);margin-top:3px}.toc-drawer__actions{display:flex;align-items:center;gap:8px}.toc-action-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;font-size:.78rem;border-radius:var(--radius);color:var(--text-secondary);background-color:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;transition:all .15s ease}.toc-action-btn:hover{color:var(--accent-color);border-color:var(--accent-color)}.toc-close-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.toc-close-btn:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.toc-drawer__search{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-secondary);flex-shrink:0}.toc-search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.9rem}.toc-search-input::placeholder{color:var(--text-muted)}.toc-search-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 6px;font-size:.85rem;line-height:1}.toc-search-clear:hover{color:var(--text-primary)}.toc-range-selector{display:flex;gap:6px;padding:8px 16px;overflow-x:auto;border-bottom:1px solid var(--border-color);background-color:var(--bg-card);flex-shrink:0;scrollbar-width:thin}.toc-range-btn{padding:5px 12px;border-radius:var(--radius);font-size:.78rem;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:all .15s ease}.toc-range-btn:hover{color:var(--text-primary);border-color:var(--accent-color)}.toc-range-btn.is-active{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color);font-weight:600}.toc-drawer__list{flex:1;overflow-y:auto;padding:8px 12px;display:flex;flex-direction:column;gap:3px;overscroll-behavior:contain}.toc-item-link{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-radius:var(--radius);text-decoration:none;color:var(--text-primary);transition:background-color .15s ease;gap:10px;border-left:3px solid transparent}.toc-item-link:hover{background-color:var(--bg-secondary)}.toc-item-link.is-current{background-color:var(--bg-secondary);border-left-color:var(--accent-color);font-weight:600}.toc-item__left{display:flex;align-items:baseline;gap:8px;min-width:0;flex:1}.toc-item__num{font-size:.88rem;font-weight:600;color:var(--accent-color);flex-shrink:0}.toc-item__name{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.toc-item__badge{font-size:.72rem;padding:2px 7px;border-radius:9999px;background-color:var(--accent-color);color:#fff;flex-shrink:0;font-weight:600}.toc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;text-align:center;color:var(--text-muted);gap:12px}.toc-empty svg{stroke:var(--text-muted);opacity:.6}.toc-loading{display:flex;flex-direction:column;gap:8px;padding:8px 4px}.toc-skeleton-item{height:42px;border-radius:var(--radius);background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:toc-shimmer 1.5s infinite}@keyframes toc-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.chapter-nav[data-astro-cid-fttocojm]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:24px 0}.chapter-nav__btn[data-astro-cid-fttocojm]{flex:1;font-size:.85rem;padding:10px 8px}.chapter-nav__btn[data-astro-cid-fttocojm].is-disabled{opacity:.35;pointer-events:none}
