:root{color-scheme:light;--brand:#1b2e80;--ink:#23324a;--muted:#6d7889;--line:#d9e0eb;--paper:#fff;--desk:#e9edf3;font-family:Arial,"Microsoft YaHei",sans-serif;color:var(--ink);background:var(--desk)}
*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.3}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #537ae3;outline-offset:3px}button{color:inherit}button svg,a svg{pointer-events:none}[hidden]{display:none!important}
.icon{display:block;width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reader{height:100vh;height:100dvh;min-height:360px;display:flex;flex-direction:column;overflow:hidden;background:var(--desk)}
.reader-header{height:72px;flex:none;display:grid;grid-template-columns:1fr minmax(0,2fr) 1fr;align-items:center;gap:24px;padding:0 26px;background:var(--brand);color:#fff;box-shadow:0 1px 0 #ffffff15}
.back-link{justify-self:start;display:inline-flex;gap:7px;align-items:center;font-size:13px;padding:10px 0}.back-link:hover{color:#d5e1ff}.reader-heading{display:flex;justify-content:center;align-items:center;gap:14px;min-width:0}.reader-heading>div{min-width:0}.book-icon{width:29px;height:29px;opacity:.85}.reader-heading h1{font-size:16px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 4px;line-height:1.4}.reader-heading p{font-size:11px;letter-spacing:.06em;color:#c2d1ef;margin:0}.download-link{display:inline-flex;align-items:center;justify-self:end;gap:8px;background:#fff;color:var(--brand);font-size:13px;font-weight:600;padding:11px 16px;border:1px solid #fff;border-radius:4px}.download-link:hover{background:#edf2ff}
.reader-toolbar{height:53px;flex:none;padding:0 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;z-index:20}.panel-tools,.utility-tools{display:flex;align-items:center;gap:10px}.tool-button{border:0;background:transparent;display:flex;align-items:center;gap:7px;border-radius:4px;padding:9px 12px;font-size:13px;color:#4b5870}.tool-button:hover,.tool-button[aria-expanded=true]{background:#edf1fc;color:var(--brand)}.icon-button{width:38px;height:38px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:4px;background:transparent;color:#5a6781;padding:0}.icon-button:not(:disabled):hover{background:#e5ebf6;color:var(--brand)}
.reader-layout{display:flex;flex:1;min-height:0;min-width:0;position:relative}.reader-sidebar{flex:0 0 296px;min-width:0;z-index:30;overflow:auto;background:#f9fbfe;border-right:1px solid var(--line);box-shadow:2px 0 12px #19244b08}.sidebar-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:15px 16px 12px;background:#f9fbfe;border-bottom:1px solid var(--line)}.sidebar-heading h2{font-size:16px;font-weight:500;margin:0}.sidebar-panel{padding:18px 16px 24px}.outline-list,.search-results{list-style:none;margin:0;padding:0}.outline-list li+li{border-top:1px solid #e6eaf2}.outline-list button{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;text-align:left;border:0;background:transparent;padding:14px 7px;font-size:13px;line-height:1.6}.outline-list button:hover,.outline-list button[aria-current=true]{color:var(--brand);background:#edf1fc}.outline-page{color:#8491a8;flex:none;font-variant-numeric:tabular-nums}.panel-status{font-size:13px;line-height:1.8;color:var(--muted);margin:14px 0}.thumbnail-list{display:grid;grid-template-columns:1fr 1fr;gap:20px 12px}.thumbnail-button{min-width:0;background:none;padding:0;border:0;font-size:12px;color:var(--muted);line-height:1.5}.thumbnail-button img{width:100%;aspect-ratio:1.0476;background:#e6ebf3;border:2px solid transparent;box-shadow:0 2px 8px #24345114;object-fit:contain}.thumbnail-button span{display:block;margin-top:7px}.thumbnail-button:hover,.thumbnail-button[aria-current=true]{color:var(--brand)}.thumbnail-button[aria-current=true] img{border-color:var(--brand)}.search-form{display:flex;align-items:center;border:1px solid #ccd5e4;border-radius:4px;background:#fff}.search-form input{width:100%;min-width:0;border:0;padding:12px 9px;background:transparent;font-size:13px}.search-form .icon-button{width:35px}.search-result-button{border:0;background:#fff;box-shadow:0 1px 4px #2434510a;padding:13px 12px;margin:0 0 12px;text-align:left;width:100%;border-left:2px solid #cbd6ef}.search-result-button:hover{border-left-color:var(--brand)}.search-result-button strong{display:block;font-size:13px;color:var(--brand);margin-bottom:8px}.search-result-button p{font-size:12px;line-height:1.8;margin:0;color:#5d6980;word-break:break-word}.search-result-button mark{background:#ffe8aa;color:inherit}
.book-stage{position:relative;flex:1;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;background:radial-gradient(ellipse at 50% 30%,#f5f7fa 0,#e9edf3 65%,#e1e7ef 100%);outline-offset:-3px}.book-space{display:grid;place-items:center;min-height:100%;min-width:100%;width:max-content;padding:30px 40px}.book-frame{position:relative;flex:none;filter:drop-shadow(0 12px 18px #1b2e8024);transition:transform .35s ease}.book-frame[data-cover=front]{transform:translateX(-25%)}.book-frame[data-cover=back]{transform:translateX(25%)}.book-host{position:relative;touch-action:none}.book-stage[data-zoomed=true] .book-host{touch-action:pan-x pan-y}.book-page{background:#fff;overflow:hidden;backface-visibility:hidden}.book-page img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.book-page:not(.is-rendered) img{visibility:hidden}.book-page:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px #202d4510}.book-page .page-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#96a3b9;font-size:14px}.book-page.is-rendered .page-placeholder{display:none}.stf__block{overflow:visible!important}.book-stage[data-zoomed=true]{cursor:grab}.book-stage.is-panning{cursor:grabbing}.book-stage[data-zoomed=true] .book-frame{transition:none}
.reader-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:var(--desk);padding:24px;z-index:10}.reader-message p{font-size:14px;color:#6e7b91;line-height:1.8;margin:5px 0}.reader-message h2{font-size:22px;font-weight:500;margin:0}.loading-spinner{width:28px;height:28px;border:2px solid #cbd4e4;border-top-color:var(--brand);border-radius:50%;animation:reader-spin .8s linear infinite}.retry-button{border:0;color:#fff;background:var(--brand);padding:11px 20px;border-radius:3px;margin-top:12px}.error-message{background:#edf1f7}.error-message p{max-width:420px}.reader[data-ready=false] .reader-toolbar button{pointer-events:none;opacity:.4}
.reader-controls{min-height:68px;flex:none;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:10px 26px;z-index:20}.reading-mode{font-size:12px;line-height:1.5;color:#7b879b;margin:0;white-space:nowrap}.page-navigation{display:flex;align-items:center;justify-content:center;gap:5px;margin:0}.page-input-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#7c8799;font-variant-numeric:tabular-nums}.page-input-label input{width:47px;border:1px solid #d4ddea;border-radius:3px;background:#f8fafe;text-align:center;padding:7px 3px;color:var(--brand);font-size:14px;-moz-appearance:textfield}.page-input-label input::-webkit-inner-spin-button{appearance:none;margin:0}.page-input-label span:not(.sr-only){min-width:36px}.zoom-controls{justify-self:end;display:flex;align-items:center;gap:2px}.zoom-value{min-width:86px;height:36px;border:0;background:none;color:#64718a;font-size:12px;padding:0 7px}.zoom-value:not(:disabled):hover{background:#edf1fc;color:var(--brand)}
@keyframes reader-spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.reader-header{gap:14px;padding:0 18px}.reader-controls{gap:12px;padding:10px 16px}.reading-mode{display:none}.reader-controls{grid-template-columns:1fr auto}.page-navigation{justify-self:start}.reader-toolbar{padding:0 16px}.book-space{padding:26px 24px}}
@media(max-width:760px){.reader-header{height:64px;grid-template-columns:auto minmax(0,1fr) auto;padding:0 12px;gap:12px}.back-link span,.book-icon{display:none}.back-link .icon{width:21px;height:21px}.reader-heading{justify-content:start;gap:0}.reader-heading h1{font-size:13px}.reader-heading p{font-size:10px}.download-link{padding:9px 11px;font-size:12px}.download-link .icon{width:16px;height:16px}.reader-toolbar{height:49px;padding:0 10px}.tool-button{font-size:12px;padding:9px 7px;gap:5px}.tool-button .icon{width:17px;height:17px}.panel-tools,.utility-tools{gap:2px}.utility-tools .icon-button{width:32px;height:36px}.utility-tools .icon{width:18px;height:18px}.reader-sidebar{position:absolute;inset:0 auto 0 0;width:min(300px,86vw);box-shadow:12px 0 40px #17254025}.book-space{padding:20px 16px}.reader-controls{min-height:100px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;padding:7px 12px}.page-navigation{width:100%;gap:7px}.page-navigation .icon-button{width:36px;height:36px}.zoom-controls{justify-self:auto}.zoom-controls .icon-button{height:30px;width:32px}.zoom-value{height:30px;min-width:78px}.reader{min-height:320px}}
@media(max-width:360px){.reader-header{gap:8px}.download-link{padding:9px 8px}.download-link .icon{display:none}.page-navigation{gap:3px}.page-input-label{gap:5px}.reader-toolbar{padding:0 7px}.tool-button{padding:9px 5px}.utility-tools .icon-button{width:28px}}
@media(prefers-reduced-motion:reduce){.book-frame{transition:none}.loading-spinner{animation:none}}
