.reading-progress{position:fixed;top:0;left:0;height:3px;background:#f55000;width:0%;z-index:9999;opacity:0;transition:opacity .3s ease}.reading-progress.show{opacity:1}.reader{position:relative;max-width:1216px;margin:0 auto;padding:0 20px}.reader-hero{padding:56px 0 30px;border-bottom:1px solid #f0eeec;margin-bottom:32px}.reader-hero-inner{display:flex;align-items:flex-start;gap:28px;max-width:680px;margin:0 auto}.reader-hero-text{flex:1;min-width:0}.reader-hero-back{display:inline-block;font-size:12.5px;color:#a8a29e;text-decoration:none;margin-bottom:16px;transition:color .15s}.reader-hero-back:hover{color:var(--color-accent)}.reader-hero-book{font-family:var(--font-serif);font-size:1.15rem;font-weight:700;color:#1c1917;letter-spacing:.01em;margin-bottom:12px;line-height:1.45}.reader-hero-chapter{font-size:12px;font-weight:700;color:var(--color-accent);letter-spacing:.06em;margin-bottom:12px}.reader-hero-title{font-family:var(--font-serif);font-size:2.1rem;font-weight:700;line-height:1.35;margin:0 0 14px;color:#1c1917}.reader-hero-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:#78716c;flex-wrap:wrap}.reader-hero-dot{color:#d6d3d1}.reader-body{display:grid;grid-template-columns:minmax(0,1fr) min(680px,100%) minmax(0,1fr);align-items:start}.reader-toc{grid-column:1;justify-self:end;width:clamp(150px,14vw,210px);margin-right:24px;position:sticky;top:72px;max-height:calc(100vh - 92px);overflow-y:auto;padding:4px 0 20px;scrollbar-width:thin;scrollbar-color:#e7e5e4 transparent}.reader-toc::-webkit-scrollbar{width:4px}.reader-toc::-webkit-scrollbar-thumb{background:#e7e5e4;border-radius:4px}.reader-toc-book{font-size:12px;font-weight:700;color:#a8a29e;letter-spacing:.04em;margin-bottom:16px}.reader-toc-nav{position:relative;padding-left:18px}.reader-toc-nav:before{content:"";position:absolute;left:5px;top:12px;bottom:12px;width:2px;background:#e7e5e4}.reader-toc-item-wrap{position:relative}.reader-toc-item{display:block;padding:9px 8px;text-decoration:none;color:#57534e;font-size:13px;line-height:1.5;border-radius:6px;transition:background .15s,color .15s}.reader-toc-item[data-depth="3"],.reader-toc-item[data-depth="4"]{font-size:12.5px;padding-left:20px;color:#78716c}.reader-toc-item:hover{background:#f5f5f4;color:#1c1917}.reader-toc-item-wrap:before{content:"";position:absolute;left:-13px;top:15px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #d6d3d1;z-index:1}.reader-toc-item-wrap.active .reader-toc-item{color:var(--color-accent);font-weight:700;background:#f550000d}.reader-toc-item-wrap.active:before{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 0 0 3px #f5500026}.reader-main{grid-column:2;min-width:0}.reader-prose{max-width:680px;margin:0;padding:0}.reader-footnav{display:flex;gap:16px;margin-top:48px;padding-top:32px;border-top:1px solid #e7e5e4}.reader-next{flex:1;display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;padding:14px 22px;border-radius:12px;background:var(--color-accent);color:#fff;text-decoration:none;transition:background .2s,transform .15s}.reader-next:hover{background:#d94500;transform:translateY(-1px)}.reader-next .reader-foot-label{display:block;font-size:12px;color:#fffc}.reader-next .reader-foot-title{display:block;font-size:14px;font-weight:700;color:#fff}.reader-toc-toggle{display:none;position:fixed;right:calc(18px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));width:48px;height:48px;border-radius:50%;background:var(--color-accent);color:#fff;border:none;font-size:13px;font-weight:600;box-shadow:0 6px 18px #f5500052;z-index:60;cursor:pointer}.reader-toc-scrim{display:none;position:fixed;inset:0;background:#0006;z-index:55}body.toc-open .reader-toc-scrim{display:block}body.toc-open .reader-toc{transform:translate(0)!important}@media(max-width:1120px){body.toc-open{overflow:hidden}}@media(max-width:1120px){.reader{padding:0 16px}.reader-hero{padding:36px 0 22px}.reader-hero-title{font-size:1.7rem}.reader-body{display:block}.reader-toc{position:fixed;top:0;left:0;bottom:0;width:80%;max-width:300px;background:#fff;z-index:58;padding:20px 16px;transform:translate(-100%);transition:transform .3s ease;box-shadow:4px 0 24px #0000001a;margin-right:0}.reader-toc-toggle{display:flex;align-items:center;justify-content:center}.reader-prose{max-width:100%}.reader-next{align-items:flex-start;text-align:left}}
