:root{--reading-bg:var(--bg-card,#ffffff);--reading-text:var(--primary,#2c3e50);--reading-width:900px;--reading-font:'Charter','Bitstream Charter','Sitka Text',Georgia,serif;--reading-size:18px;--reading-line-height:1.8;--paragraph-spacing:28px;--text-indent:2em;--primary-color:var(--primary,#2c3e50);--accent-color:var(--accent,#3b82f6);--reading-accent-light:#60a5fa;--bg-primary:var(--bg-body,#f8fafc);--bg-secondary:var(--gray-50,#f8fafc);--bg-tertiary:var(--gray-100,#f1f5f9);--text-primary:var(--primary,#2c3e50);--text-secondary:var(--gray-500,#64748b);--text-muted:var(--gray-400,#94a3b8);--shadow-soft:var(--shadow-sm,0 1px 3px rgba(0,0,0,0.06));--shadow-medium:var(--shadow-md,0 4px 6px rgba(0,0,0,0.07));--shadow-large:var(--shadow-lg,0 10px 15px rgba(0,0,0,0.08));--border-color:rgba(0,0,0,0.06);--border-hover:rgba(0,0,0,0.12);--selection-bg:var(--accent,#3b82f6);--selection-text:var(--white,#ffffff);--header-bg:rgba(255,255,255,0.88);--bottombar-bg:rgba(255,255,255,0.92);--sheet-bg:#ffffff;--toolbar-bg:#ffffff}body.dark-theme,[data-theme="dark"]{--reading-bg:var(--bg-card,#161c2e);--reading-text:var(--primary,#e7edf4);--bg-primary:var(--bg-body,#0c1017);--bg-secondary:var(--gray-100,#1c2236);--bg-tertiary:var(--gray-200,#232940);--text-primary:var(--primary,#e7edf4);--text-secondary:var(--gray-500,#8492a6);--text-muted:var(--gray-400,#5c6775);--shadow-soft:0 1px 3px rgba(0,0,0,0.5);--shadow-medium:0 4px 8px rgba(0,0,0,0.5);--shadow-large:0 10px 20px rgba(0,0,0,0.55);--border-color:rgba(255,255,255,0.06);--border-hover:rgba(255,255,255,0.12);--header-bg:rgba(12,16,23,0.94);--bottombar-bg:rgba(12,16,23,0.96);--sheet-bg:#161c2e;--toolbar-bg:#232940}body.sepia-theme,[data-theme="sepia"]{--bg-primary:#f8f5f0;--bg-secondary:#f0ebe2;--bg-tertiary:#e8e2d5;--text-primary:#5c4a32;--text-secondary:#7a6548;--text-muted:#a08b6a;--accent-color:#c9873a;--reading-accent-light:#daa24e;--border-color:rgba(92,74,50,0.1);--border-hover:rgba(92,74,50,0.18);--shadow-soft:0 2px 8px rgba(92,74,50,0.08);--shadow-medium:0 4px 16px rgba(92,74,50,0.1);--shadow-large:0 8px 32px rgba(92,74,50,0.12);--reading-bg:#faf7f2;--reading-text:#5c4a32;--selection-bg:#c9873a;--selection-text:#f8f5f0;--header-bg:rgba(248,245,240,0.92);--bottombar-bg:rgba(248,245,240,0.95);--sheet-bg:#faf7f2;--toolbar-bg:#f0ebe2}body.amoled-theme,[data-theme="amoled"]{--reading-bg:#000000;--reading-text:#cccccc;--bg-primary:#000000;--bg-secondary:#0a0a0a;--bg-tertiary:#111111;--text-primary:#cccccc;--text-secondary:#777777;--text-muted:#555555;--accent-color:#60a5fa;--reading-accent-light:#93c5fd;--border-color:rgba(255,255,255,0.05);--border-hover:rgba(255,255,255,0.1);--shadow-soft:0 1px 3px rgba(0,0,0,0.8);--shadow-medium:0 4px 6px rgba(0,0,0,0.8);--shadow-large:0 10px 15px rgba(0,0,0,0.9);--selection-bg:#5dade2;--selection-text:#000000;--header-bg:rgba(0,0,0,0.95);--bottombar-bg:rgba(0,0,0,0.95);--sheet-bg:#0a0a0a;--toolbar-bg:#111111}html.reader-page .navbar{display:none}html.reader-page .site-footer{display:none}html.reader-page main.container{max-width:100%;padding:0;margin:0}html.reader-page body{padding-top:0;background-color:var(--reading-bg)}body{background-color:var(--bg-primary);color:var(--text-primary);transition:background-color 0.3s,color 0.3s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.reader-header{position:fixed;top:0;left:0;right:0;height:48px;z-index:100;display:flex;align-items:center;padding:0 14px;background:var(--header-bg);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-bottom:1px solid var(--border-color);transition:transform 0.35s cubic-bezier(0.4,0,0.2,1);will-change:transform;gap:8px}.reader-header--hidden{transform:translateY(-100%)}.reader-header__back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--text-primary);text-decoration:none;flex-shrink:0;transition:background 0.2s}.reader-header__back:hover{background:var(--bg-tertiary)}.reader-header__back svg{width:20px;height:20px}.reader-header__title{flex:1;min-width:0;text-align:center;cursor:pointer}.reader-header__title h1{font-size:15px;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.reader-header__title span{font-size:11px;color:var(--text-muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-header__actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.reader-header__btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background 0.2s,color 0.2s;padding:0}.reader-header__btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.reader-header__btn.reported{opacity:0.4;pointer-events:none}.reader-header__btn svg{width:18px;height:18px}.reader-header__progress{position:absolute;bottom:0;left:0;height:2.5px;background:linear-gradient(90deg,var(--accent-color),#10b981);transition:width 0.15s ease-out;width:0%;border-radius:0 2px 2px 0}.reader-header__progress-text{position:absolute;right:12px;bottom:6px;font-size:10px;color:var(--text-muted);pointer-events:none;opacity:0;transition:opacity 0.2s}.reader-header:hover .reader-header__progress-text{opacity:1}.reading-container{max-width:var(--reading-width,900px);margin:0 auto;padding:56px 0 72px;background:var(--reading-bg);min-height:100vh;transition:max-width 0.3s}.chapter-content{font-family:var(--reading-font);font-size:var(--reading-size,18px);line-height:var(--reading-line-height,1.8);color:var(--reading-text);padding:24px 6%;background:var(--reading-bg);letter-spacing:0.01em;font-feature-settings:'kern' 1,'liga' 1,'calt' 1;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:font-size 0.2s,line-height 0.2s}.paragraph-container{position:relative;padding:12px 0;transition:background 0.2s;content-visibility:auto;contain-intrinsic-size:auto 100px}.paragraph-container--selected{background:rgba(59,130,246,0.06);border-radius:4px}body.dark-theme .paragraph-container--selected{background:rgba(96,165,250,0.08)}body.sepia-theme .paragraph-container--selected{background:rgba(201,135,58,0.06)}.paragraph-content{text-align:justify;text-indent:2em;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;hyphens:auto;-webkit-hyphens:auto}.paragraph-content--pending{border-left:3px solid #f59e0b;padding-left:0.5em;text-indent:1.5em}body.dark-theme .paragraph-content--pending{border-left-color:#fbbf24}body.sepia-theme .paragraph-content--pending{border-left-color:#d97706}.chapter-content .paragraph-container:first-child .paragraph-content::first-letter{font-size:3.2em;float:left;line-height:0.8;margin-right:0.08em;margin-top:0.08em;font-weight:700;color:var(--accent-color)}.reader-bottombar{position:fixed;bottom:0;left:0;right:0;height:56px;z-index:100;display:flex;align-items:center;justify-content:space-around;background:var(--bottombar-bg);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-top:1px solid var(--border-color);padding-bottom:env(safe-area-inset-bottom,0)}.reader-bottombar__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 16px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;text-decoration:none;transition:color 0.2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-width:56px}.reader-bottombar__btn:hover{color:var(--accent-color)}.reader-bottombar__btn--active{color:var(--accent-color)}.reader-bottombar__btn--disabled{opacity:0.3;pointer-events:none}.reader-bottombar__btn svg{width:22px;height:22px}.reader-bottombar__btn span{font-size:10px;font-weight:500;line-height:1}.reader-sheet-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,0.35);opacity:0;pointer-events:none;transition:opacity 0.3s ease}.reader-sheet-overlay--active{opacity:1;pointer-events:auto}.reader-sheet{position:fixed;bottom:0;left:0;right:0;z-index:201;background:var(--sheet-bg);border-radius:18px 18px 0 0;transform:translateY(100%);transition:transform 0.35s cubic-bezier(0.32,0.72,0,1);will-change:transform;max-height:60vh;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -4px 24px rgba(0,0,0,0.12),0 -1px 6px rgba(0,0,0,0.06);padding-bottom:env(safe-area-inset-bottom,0)}.reader-sheet--active{transform:translateY(0)}.reader-sheet--full{max-height:85vh}.reader-sheet__handle{width:36px;height:4px;background:var(--text-muted);border-radius:2px;margin:10px auto 6px;opacity:0.4}.reader-sheet__header{padding:8px 20px 12px;font-size:16px;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.reader-setting{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border-color)}.reader-setting:last-child{border-bottom:none}.reader-setting__label{font-size:14px;font-weight:500;color:var(--text-secondary);flex-shrink:0;margin-right:16px}.reader-setting__controls{display:flex;align-items:center;gap:10px}.reader-setting__round-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:16px;font-weight:600;cursor:pointer;transition:all 0.15s;-webkit-tap-highlight-color:transparent}.reader-setting__round-btn:hover{background:linear-gradient(135deg,var(--accent-color),var(--reading-accent-light));color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(59,130,246,0.25)}.reader-setting__round-btn:active{transform:scale(0.92)}.reader-setting__value{min-width:36px;text-align:center;font-size:14px;font-weight:600;color:var(--text-primary)}.reader-segmented{display:flex;border-radius:10px;overflow:hidden;border:1px solid var(--border-color);background:var(--bg-secondary)}.reader-segmented__btn{padding:8px 16px;font-size:13px;font-weight:500;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all 0.2s ease;white-space:nowrap;-webkit-tap-highlight-color:transparent}.reader-segmented__btn:not(:last-child){border-right:1px solid var(--border-color)}.reader-segmented__btn--active{background:linear-gradient(135deg,var(--accent-color),var(--reading-accent-light));color:#fff}.reader-themes{display:flex;gap:12px}.reader-theme-dot{width:36px;height:36px;border-radius:50%;border:2px solid var(--border-color);cursor:pointer;transition:all 0.15s;padding:0;position:relative}.reader-theme-dot:hover{transform:scale(1.12)}.reader-theme-dot--active{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(59,130,246,0.25);transform:scale(1.08)}.reader-theme-dot--light{background:#ffffff}.reader-theme-dot--sepia{background:#f5eed6}.reader-theme-dot--dark{background:#161c2e}.reader-theme-dot--amoled{background:#000000}.reader-chapters-list{list-style:none;padding:0;margin:0}.reader-chapter-item{display:flex;align-items:center;padding:14px 20px;text-decoration:none;color:var(--text-primary);border-bottom:1px solid var(--border-color);transition:background 0.15s;gap:12px}.reader-chapter-item:hover{background:var(--bg-secondary)}.reader-chapter-item--active{background:rgba(59,130,246,0.07);color:var(--accent-color);font-weight:600;border-left:3px solid var(--accent-color)}.reader-chapter-item__num{font-size:12px;font-weight:600;color:var(--text-muted);min-width:32px;flex-shrink:0}.reader-chapter-item--active .reader-chapter-item__num{color:var(--accent-color)}.reader-chapter-item__title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-para-toolbar{position:absolute;z-index:150;display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--toolbar-bg);border-radius:24px;box-shadow:0 4px 20px rgba(0,0,0,0.12),0 2px 6px rgba(0,0,0,0.06),0 0 0 1px var(--border-color);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity 0.25s ease,transform 0.25s ease;white-space:nowrap}.reader-para-toolbar--visible{opacity:1;transform:translateY(0);pointer-events:auto}.reader-para-toolbar__btn{display:flex;align-items:center;justify-content:center;gap:4px;width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all 0.15s;padding:0;font-size:12px}.reader-para-toolbar__btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.reader-para-toolbar__btn--bookmarked{color:#f59e0b}.reader-para-toolbar__btn--liked{color:#10b981}.reader-para-toolbar__btn--disliked{color:#ef4444}.reader-para-toolbar__btn svg{width:18px;height:18px}.reader-para-toolbar__count{font-size:11px;font-weight:500;min-width:8px;text-align:center}.reader-para-toolbar__sep{width:1px;height:20px;background:var(--border-color);margin:0 2px}.load-more-container{text-align:center;padding:20px}.load-more-container span{font-size:14px;color:var(--text-muted)}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);align-items:center;justify-content:center;z-index:300;opacity:0;transition:opacity 0.25s}.modal-overlay.active,.modal-overlay.show{display:flex;opacity:1}.modal-content{background:var(--sheet-bg);padding:28px;border-radius:18px;max-width:480px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 16px 48px rgba(0,0,0,0.18),0 4px 12px rgba(0,0,0,0.08);transform:translateY(20px);transition:transform 0.3s cubic-bezier(0.4,0,0.2,1)}.modal-overlay.active .modal-content,.modal-overlay.show .modal-content{transform:translateY(0)}.modal-title{color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:16px}.modal-textarea{width:100%;min-height:120px;padding:12px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);font-size:15px;line-height:1.5;resize:vertical;transition:border-color 0.2s,box-shadow 0.2s;margin-bottom:16px;box-sizing:border-box}.modal-textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(59,130,246,0.12)}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal-actions .btn{min-width:100px}.restore-progress-prompt{position:fixed;bottom:72px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--sheet-bg);color:var(--text-primary);padding:14px 22px;border-radius:18px;box-shadow:0 8px 32px rgba(0,0,0,0.14),0 2px 8px rgba(0,0,0,0.06);display:flex;align-items:center;gap:12px;opacity:0;transition:all 0.35s cubic-bezier(0.34,1.56,0.64,1);z-index:250;border:1px solid var(--border-color)}.restore-progress-prompt.visible{opacity:1;transform:translateX(-50%) translateY(0)}.restore-progress-prompt span{font-size:14px;font-weight:500}.restore-btn{padding:8px 18px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s ease;border:none}.restore-btn.yes{background:var(--accent-color);color:white}.restore-btn.yes:hover{filter:brightness(1.1)}.restore-btn.no{background:var(--bg-secondary);color:var(--text-secondary)}.restore-btn.no:hover{background:var(--bg-tertiary)}.milestone-notification{position:fixed;top:64px;left:50%;transform:translateX(-50%) translateY(-20px);background:linear-gradient(135deg,var(--accent-color),#10b981);color:white;padding:12px 28px;border-radius:24px;font-size:14px;font-weight:600;box-shadow:0 8px 24px rgba(59,130,246,0.25),0 2px 6px rgba(0,0,0,0.08);opacity:0;transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);z-index:250;white-space:nowrap;letter-spacing:0.01em}.milestone-notification.visible{opacity:1;transform:translateX(-50%) translateY(0)}::selection{background:var(--selection-bg);color:var(--selection-text)}.chapter-content::selection{background:var(--accent-color);color:white}@media (max-width:768px){.reader-header{height:44px;padding:0 8px}.reader-header__title h1{font-size:13px}.reader-header__title span{display:none}.reader-header__back,.reader-header__btn{width:32px;height:32px}.reading-container{padding:48px 0 64px}.chapter-content{padding:16px 14px;font-size:17px;line-height:1.7}.paragraph-container{padding:8px 0}.paragraph-content{text-indent:1.2em}.reader-bottombar{height:52px}.reader-bottombar__btn{padding:4px 12px}.reader-bottombar__btn svg{width:20px;height:20px}.reader-bottombar__btn span{font-size:9px}.reader-sheet{max-height:70vh}.reader-setting{padding:12px 16px}.reader-setting__label{font-size:13px}.modal-content{padding:20px;width:calc(100% - 24px);border-radius:14px}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}@media (max-width:480px){.chapter-content{padding:12px 10px;font-size:16px}.reader-segmented__btn{padding:7px 12px;font-size:12px}.reader-setting__round-btn{width:32px;height:32px;font-size:14px}.reader-theme-dot{width:32px;height:32px}}@media (max-width:360px){.chapter-content{padding:10px 8px;font-size:15px}.paragraph-content{text-indent:1em}}.reader-header__btn:focus-visible,.reader-header__back:focus-visible,.reader-bottombar__btn:focus-visible,.reader-setting__round-btn:focus-visible,.reader-segmented__btn:focus-visible,.reader-theme-dot:focus-visible,.reader-para-toolbar__btn:focus-visible,.restore-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}@media print{.reader-header,.reader-bottombar,.reader-sheet-overlay,.reader-sheet,.reader-para-toolbar{display:none !important}.chapter-content{font-size:12pt;line-height:1.6;padding:0;background:white;color:black}.reading-container{padding:0}}html{scroll-behavior:smooth}