:root{color-scheme:dark;--paper:#eee7dc;--muted:#a69b95;--line:#ffffff1a;--accent:#c28b9a;--base:#141213;--page-ratio:19/25.5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--base);color:var(--paper)}body{overflow-x:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{opacity:.32;cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid #e5b2c0;outline-offset:4px}button{border:0}button:hover:not(:disabled){color:#fff}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.skip-link{position:fixed;left:20px;top:-100px;background:var(--paper);color:#171415;padding:12px;z-index:1000}.skip-link:focus{top:10px}
.reader{min-height:100svh;min-height:100dvh;display:flex;flex-direction:column;padding:max(0px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(0px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 45%,#3b293536 0,transparent 58%),var(--base)}.reader:fullscreen{height:100vh;overflow:auto}.reader.fullscreen-fallback{position:fixed;inset:0;z-index:900;height:100dvh;overflow:auto}.topbar{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1440px;min-height:66px;margin:0 auto;border-bottom:1px solid var(--line);gap:15px}.back-link{font-size:12px;color:#b7ada8;letter-spacing:.04em}.back-link span{margin-right:9px}.wordmark{font:italic 21px Georgia,"Times New Roman",serif;letter-spacing:.01em}.wordmark small{font:10px Georgia,serif;margin-left:10px;letter-spacing:.13em;color:var(--muted)}.text-button{background:none;padding:10px 9px;font-size:12px;letter-spacing:.03em;white-space:nowrap}.text-button span{margin:0 4px}.book-heading{text-align:center;position:relative;padding:23px 0 19px;flex-shrink:0}.eyebrow{font:9px/1.5 Georgia,serif;letter-spacing:.2em;color:#b8a7aa;margin:0 0 8px}h1{font:italic 42px/1.05 Georgia,"Times New Roman",serif;font-weight:400;margin:0;letter-spacing:-.03em}h1 span{display:inline-block;vertical-align:middle;font:12px/1.7 "PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:.16em;border-left:1px solid #73555f;margin-left:23px;padding-left:23px;color:#c9bcb7}.resume-button{position:absolute;right:0;bottom:21px;background:none;color:var(--accent);font-size:11px;padding:9px}.stage{position:relative;flex:1 0 auto;width:100%;max-width:1230px;min-height:260px;height:calc(100svh - 290px);height:calc(100dvh - 290px);max-height:900px;margin:0 auto;isolation:isolate;overflow:hidden}.ambient{position:absolute;width:75%;height:24px;left:12.5%;bottom:13px;background:#0008;filter:blur(25px);z-index:-1}.book-shell{width:100%;height:100%;transform:translateX(var(--cover-shift,0px));transition:transform .65s ease}.book{width:100%;height:100%;min-width:0!important;min-height:0!important}.book .stf__wrapper{height:100%}.book .stf__block{height:100%;touch-action:pan-y}.book-page{background:#f6f1e8;overflow:hidden;box-shadow:0 0 0 1px #ffffff12;position:relative}.book-page.cover{background:#080808}.page-image{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none;opacity:0;transition:opacity .14s}.book-page.is-loaded .page-image{opacity:1}.page-wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#81716b;font-size:12px;letter-spacing:.08em;pointer-events:none}.book-page.is-loaded .page-wait{display:none}.page-retry{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)!important;background:#eee7dc;color:#392d2d;padding:12px;border-radius:3px;white-space:nowrap}.book-page:after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,transparent 93%,#25131a0d)}.book-page.right:after{background:linear-gradient(90deg,#25131a0d,transparent 7%)}.book-page.continuous:after,.book-page.cover:after{display:none}.loading-panel{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;background:var(--base);color:#b6a6a8;font-size:12px;letter-spacing:.06em;z-index:10}.loading-panel p{margin:0}.loader{width:27px;height:27px;border:1px solid #ffffff1a;border-top-color:var(--accent);border-radius:50%;animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.reader-controls{width:min(570px,100%);margin:12px auto 0;flex-shrink:0}.page-navigation{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:20px}.arrow-button{width:44px;height:44px;border-radius:50%;border:1px solid #ffffff24;background:#ffffff03;font:22px Georgia,serif;transition:background .2s}.arrow-button:hover:not(:disabled){background:#ffffff0c}.page-information{text-align:center;display:flex;flex-direction:column;gap:5px;min-width:0}.page-information>span:first-child{font:13px/1.4 Georgia,"PingFang SC",serif;letter-spacing:.09em}.page-information>span:last-child{font-size:10px;color:#a99b98;letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-track{height:1px;background:#ffffff16;margin:10px 0 4px;overflow:hidden}.progress-track span{display:block;width:0;height:100%;background:#b88495;transition:width .4s}.reader-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.gesture-hint{font-size:10px;letter-spacing:.02em;color:#958889}.reader-footer{width:100%;max-width:1440px;margin:7px auto 0;min-height:32px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#786c6c;font-size:9px;letter-spacing:.08em}.reader-footer>span:first-child{font:italic 11px Georgia,serif}.pill-button{background:#e5d6d9;color:#39262d;padding:10px 19px;border-radius:30px;font-size:12px}.pill-button:hover:not(:disabled){color:#171415;background:#f6e8ed}.noscript-note{position:fixed;inset:30% 10% auto;background:#33262d;padding:30px;z-index:100}.noscript-note a{text-decoration:underline}
dialog{border:1px solid #6b4f583d;color:var(--paper);background:#1c171b;padding:0;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#080608dc;backdrop-filter:blur(8px)}.contents-dialog{width:min(850px,calc(100% - 32px));max-height:calc(100dvh - 50px);border-radius:8px;padding:27px}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.dialog-header h2{font:400 24px/1.5 Georgia,"Songti SC",serif;letter-spacing:.06em;margin:0}.close-button{background:transparent;font:30px/1 Georgia,serif;width:44px;height:44px;flex-shrink:0;color:#ccbdc0}.jump-form{display:flex;align-items:center;gap:12px;padding-bottom:15px;border-bottom:1px solid var(--line);font-size:12px}.jump-form input{width:70px;color:var(--paper);border:1px solid #655158;border-radius:4px;padding:8px;background:#2a2026;appearance:textfield}.jump-form>span{font-size:10px;color:var(--muted)}.index-note{font-size:10px;color:#a59598;margin:16px 0}.thumbnail-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:19px 14px}.thumbnail{background:none;padding:0;text-align:left;min-width:0}.thumbnail img{display:block;width:100%;aspect-ratio:19/25.5;object-fit:contain;background:#0b090a;border:1px solid #ffffff16;border-radius:2px;transition:border-color .15s}.thumbnail:hover img,.thumbnail[aria-current="page"] img{border-color:var(--accent)}.thumbnail span{display:block;font-size:10px;color:#b5a3a8;line-height:1.5;margin-top:7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.thumbnail[aria-current="page"] span{color:#efd5de}
.zoom-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;background:#0e0c0f;padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px,env(safe-area-inset-left));overflow:hidden}.zoom-dialog[open]{display:flex;flex-direction:column}.zoom-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;min-height:52px}.zoom-header h2{font-size:12px;letter-spacing:.08em;font-weight:400;margin:0}.zoom-choices{display:flex;gap:8px;justify-content:center;align-items:center;padding:0 0 9px;min-height:39px}.zoom-choice{font-size:11px;background:transparent;border:1px solid #47383f;border-radius:30px;padding:7px 14px;color:#b9a9b0}.zoom-choice[aria-pressed="true"]{background:#e9dce1;color:#3c2630;border-color:#e9dce1}.zoom-viewport{flex:1;min-height:0;position:relative;overflow:hidden;touch-action:none;cursor:grab;display:flex;align-items:center;justify-content:center}.zoom-viewport.dragging{cursor:grabbing}.zoom-viewport img{flex:none;object-fit:contain;max-width:none;max-height:none;user-select:none;-webkit-user-drag:none;transform-origin:center;will-change:transform;opacity:0}.zoom-viewport.ready img{opacity:1}.zoom-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#b29da6;pointer-events:none}.zoom-retry{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)!important}.zoom-tools{display:flex;align-items:center;justify-content:center;gap:13px;height:62px;flex-shrink:0}.round-button{height:36px;width:36px;background:#ffffff0c;border:1px solid #ffffff1c;border-radius:50%;font-size:20px}.zoom-tip{font-size:10px;color:#8d7f85;margin-left:8px}
@media(min-width:1600px){.stage{max-height:1000px}}@media(max-width:750px){.reader{padding-left:14px;padding-right:14px}.topbar{min-height:54px}.wordmark{font-size:19px}.wordmark small{font-size:8px;margin-left:5px}.back-link{font-size:11px}.book-heading{padding:20px 0 19px}h1{font-size:35px}h1 span{font-size:10px;letter-spacing:.07em;margin-left:15px;padding-left:15px}.eyebrow{font-size:8px;letter-spacing:.14em;margin-bottom:7px}.stage{height:calc(100svh - 260px);height:calc(100dvh - 260px);min-height:260px;max-height:850px}.resume-button{position:static;font-size:10px;margin-top:8px;padding:3px}.book-heading:has(.resume-button:not([hidden])){padding-top:12px;padding-bottom:12px}.reader-controls{max-width:460px;margin-top:9px}.page-navigation{gap:14px;grid-template-columns:44px 1fr 44px}.gesture-hint{font-size:9px}.reader-actions>.text-button{font-size:11px;padding-left:4px;padding-right:4px}.reader-footer{margin-top:3px;min-height:28px;font-size:8px;letter-spacing:.03em}.reader-footer>span:first-child{font-size:10px}.contents-dialog{padding:19px;max-height:calc(100dvh - 24px)}.thumbnail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px 11px}.dialog-header{margin-bottom:18px}.dialog-header h2{font-size:22px}.zoom-tip{display:none}.zoom-header{padding-left:4px;padding-right:0}}
@media(max-width:360px){h1{font-size:30px}h1 span{margin-left:10px;padding-left:10px;font-size:9px}.gesture-hint{max-width:125px;text-align:center;line-height:1.6}.thumbnail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reader-footer>span:last-child{letter-spacing:0}.wordmark small{display:none}}
@media(max-height:530px) and (orientation:landscape){.reader{padding-left:20px;padding-right:20px}.topbar{min-height:38px}.book-heading{padding:7px 0}.book-heading .eyebrow{display:none}h1{font-size:25px}h1 span{font-size:10px}.resume-button{position:absolute;right:0;bottom:5px;margin:0}.stage{height:calc(100dvh - 170px);min-height:160px}.reader-controls{max-width:600px;margin-top:5px}.page-navigation{grid-template-columns:34px 1fr 34px;gap:12px}.arrow-button{width:32px;height:32px;font-size:18px}.page-information{flex-direction:row;justify-content:center;gap:12px;align-items:center}.page-information>span:first-child{font-size:11px}.page-information>span:last-child{font-size:9px}.progress-track{margin-top:5px}.reader-actions .text-button{padding:7px;font-size:10px}.reader-footer{display:none}.zoom-header{min-height:38px}.zoom-header .close-button{height:34px}.zoom-choices{padding-bottom:4px;min-height:30px}.zoom-choice{padding:5px 12px}.zoom-tools{height:44px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.loader{border-color:#b88495}}
.reader{height:100svh;height:100dvh}.stage{height:auto;flex:1 1 0}
