*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root{width:100%;height:100vh}:root{--parchment:#f4efe4;--parchment-2:#ebe3d0;--parchment-3:#ddd3bc;--ink:#2c2016;--ink-soft:#5c4a30;--ink-faint:#8a7560;--gold:#8b6914;--gold-light:#c49a35;--drawer-bg:#2e2318;--drawer-text:#c8b89a;--drawer-active:#e8d5b0;--drawer-border:#4a3520;--shadow-warm:#2c20162e}*,:before,:after{box-sizing:border-box;margin:0;padding:0}.book-shell{background:var(--parchment);height:100dvh;font-family:Noto Serif SC,Songti SC,serif;display:flex;position:relative;overflow:hidden}.drawer{background:var(--drawer-bg);z-index:10;flex-direction:column;flex-shrink:0;width:260px;transition:width .3s;display:flex;overflow:hidden}.drawer.closed{width:0}.drawer-inner{border-right:1px solid var(--drawer-border);flex-direction:column;flex-shrink:0;width:260px;height:100%;display:flex;overflow:hidden}.drawer-header{border-bottom:1px solid var(--drawer-border);padding:28px 20px 18px}.book-series{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-family:Playfair Display,serif;font-size:12px}.chapter-list{scrollbar-width:thin;scrollbar-color:var(--drawer-border) transparent;flex:1;padding:12px 0;overflow-y:auto}.chapter-list::-webkit-scrollbar{width:4px}.chapter-list::-webkit-scrollbar-thumb{background:var(--drawer-border);border-radius:2px}.chapter-item{width:100%;color:var(--drawer-text);cursor:pointer;text-align:left;background:0 0;border:none;border-left:3px solid #0000;align-items:baseline;gap:8px;padding:10px 20px;font-family:Noto Serif SC,serif;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:flex}.chapter-item:hover{color:var(--drawer-active);background:#ffffff0a}.chapter-item.active{border-left-color:var(--gold-light);color:var(--drawer-active);background:#ffffff0f}.chapter-num{color:var(--ink-faint);flex-shrink:0;min-width:42px;font-size:11px}.chapter-name{flex:1;line-height:1.4}.has-image{color:var(--gold);flex-shrink:0;font-size:10px}.drawer-toggle{background:var(--drawer-bg);border:1px solid var(--drawer-border);width:18px;height:48px;color:var(--drawer-text);cursor:pointer;z-index:20;border-left:none;border-radius:0 6px 6px 0;justify-content:center;align-items:center;font-size:14px;transition:left .3s,background .15s;display:flex;position:absolute;top:24px;left:260px}.drawer-toggle.closed{left:0}.drawer-toggle:hover{background:var(--drawer-border)}.book-page{background:var(--parchment);background-image:repeating-linear-gradient(#0000,#0000 31px,#2c20160a 31px 32px);flex-direction:column;flex:1;transition:margin-right .3s;display:flex;position:relative;overflow:hidden}.page-scroll{scrollbar-width:none;flex:1;padding:0 0 40px;overflow-y:auto}.page-scroll::-webkit-scrollbar{display:none}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutLeft{to{opacity:0;transform:translate(-40px)}}@keyframes slideOutRight{to{opacity:0;transform:translate(40px)}}.chapter-content.enter{animation:.35s both fadeSlideIn}.chapter-content.exit-next{animation:.28s both slideOutLeft}.chapter-content.exit-prev{animation:.28s both slideOutRight}.chapter-image-wrap{width:100%;transition:height .18s ease-out;position:relative;overflow:hidden}.chapter-image{object-fit:cover;object-position:center center;width:100%;height:100%;display:block}.image-vignette{background:linear-gradient(to bottom, transparent 50%, #f4efe4b3 80%, var(--parchment) 100%);position:absolute;inset:0}.chapter-header{text-align:center;max-width:680px;margin:0 auto;padding:48px 40px 0}.chapter-label{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px;font-size:12px}.chapter-title{color:var(--ink);margin-bottom:20px;font-family:Playfair Display,serif;font-size:32px;font-weight:600;line-height:1.3}.title-rule{justify-content:center;align-items:center;gap:12px;margin-bottom:0;display:flex}.title-rule:before,.title-rule:after{content:"";background:var(--gold);opacity:.5;flex:1;max-width:80px;height:1px}.title-rule span{background:var(--gold);opacity:.7;width:6px;height:6px;transform:rotate(45deg)}.chapter-body{max-width:680px;color:var(--ink-soft);margin:0 auto;padding:36px 40px 20px;font-family:Noto Serif SC,serif;font-size:17px;line-height:2}.chapter-body p{text-indent:2em;margin-bottom:1.4em}.chapter-body p:first-child:first-letter{color:var(--gold);float:left;margin:8px 6px 0 0;font-family:Playfair Display,serif;font-size:3.6em;font-weight:600;line-height:.75}.photo-end-wrap{max-width:680px;margin:0 auto;padding:20px 40px 60px}.photo-card{cursor:pointer;width:100%;transform:rotate(var(--tilt,-2deg));transform-origin:50%;filter:drop-shadow(0 4px 16px #2c201640);background:0 0;border:none;padding:0;transition:transform .2s,filter .2s;display:block}.photo-card:hover{filter:drop-shadow(0 8px 28px #2c201659);transform:rotate(0)scale(1.01)}.photo-card img{border:10px solid #f0ead8;border-bottom-width:36px;width:100%;display:block}.photo-caption{text-align:center;color:var(--ink-faint);z-index:1;pointer-events:none;margin-top:-28px;font-family:Playfair Display,serif;font-size:12px;display:block;position:relative}.lightbox{z-index:100;cursor:zoom-out;background:#140e08e0;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-img{object-fit:contain;border:10px solid #f0ead8;max-width:90vw;max-height:90vh;animation:.25s lightboxIn;box-shadow:0 20px 60px #0009}@keyframes lightboxIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.manga-drawer{z-index:40;box-sizing:border-box;background:#f4efe4;border-radius:16px;flex-direction:column;width:560px;padding:12px 16px 16px;transition:transform .3s;display:flex;position:fixed;top:16px;bottom:16px;right:16px;overflow:hidden;transform:translate(calc(100% + 32px))}.manga-drawer.open{transform:translate(0)}body.resizing .manga-drawer,body.resizing .book-page{transition:none}.manga-resize-handle{cursor:col-resize;z-index:41;border-radius:4px;width:8px;position:fixed;top:16px;bottom:16px}.manga-resize-handle:hover{background:var(--gold);opacity:.4}.manga-drawer-header{flex-shrink:0;padding-bottom:10px}.manga-header-title{color:var(--ink-soft);padding:5px 8px;font-family:Noto Serif SC,serif;font-size:13px;display:block}.manga-back-btn{cursor:pointer;color:var(--ink-faint);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:7px;width:100%;padding:5px 8px;font-family:Noto Serif SC,serif;font-size:13px;transition:color .15s,background .15s;display:flex}.manga-back-btn:hover{color:var(--ink-soft)}.manga-scroll{scrollbar-width:none;flex:1;overflow-y:auto}.manga-scroll::-webkit-scrollbar{display:none}.manga-strip{border-radius:8px;width:100%;height:auto;display:block}.manga-toggle{background:var(--drawer-bg);border:1.5px solid var(--drawer-border);width:28px;height:48px;color:var(--drawer-text);cursor:pointer;z-index:42;border-radius:999px;justify-content:center;align-items:center;transition:border-color .2s,color .2s,background .2s;display:flex;position:fixed;top:24px}.manga-toggle:hover{background:var(--drawer-border)}body.resizing .manga-toggle{transition:none}.cover-shell{background:#0d0a08;flex-direction:column;justify-content:flex-end;align-items:center;width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}.cover-bg{object-fit:cover;object-position:top center;width:100%;height:100%;display:block;position:absolute;inset:0}@media (width>=768px){.cover-bg{object-position:center}}.cover-gradient{background:linear-gradient(#0000 40%,#0d0a0880 70%,#0d0a08e0 100%);position:absolute;inset:0}.cover-bottom{z-index:2;flex-direction:column;align-items:center;padding-bottom:60px;display:flex;position:relative}.cover-enter-btn{color:#c49a35;letter-spacing:.15em;cursor:pointer;background:0 0;border:1px solid #c49a35b3;border-radius:4px;padding:12px 40px;font-family:Noto Serif SC,serif;font-size:15px;transition:background .2s,border-color .2s,color .2s}.cover-enter-btn:hover{color:#e8d5b0;background:#c49a351f;border-color:#c49a35}.chapter-overlay-backdrop{z-index:60;background:#0d0a088c;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.chapter-overlay-panel{-webkit-backdrop-filter:blur(16px);border:1px solid var(--drawer-border);background:#2e2318eb;border-radius:14px;flex-direction:column;width:min(840px,90vw);max-height:calc(100vh - 100px);margin-top:60px;display:flex;position:relative;overflow:hidden}.chapter-overlay-panel.mobile-sheet{border-radius:20px 20px 0 0;width:100%;max-height:72vh;margin:0;position:fixed;bottom:0;left:0;right:0}.chapter-overlay-header{border-bottom:1px solid var(--drawer-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 20px 14px;display:flex}.chapter-overlay-title{letter-spacing:.12em;color:var(--drawer-text);font-family:Playfair Display,serif;font-size:13px}.chapter-overlay-close{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;transition:color .15s;display:flex}.chapter-overlay-close:hover{color:var(--drawer-text)}.chapter-overlay-list{scrollbar-width:thin;scrollbar-color:var(--drawer-border) transparent;grid-template-columns:repeat(2,1fr);gap:4px 12px;padding:16px 20px 20px;display:grid;overflow-y:auto}.chapter-overlay-list::-webkit-scrollbar{width:4px}.chapter-overlay-list::-webkit-scrollbar-thumb{background:var(--drawer-border);border-radius:2px}.chapter-overlay-item{width:100%;color:var(--drawer-text);cursor:pointer;text-align:left;background:0 0;border:none;border-left:3px solid #0000;border-radius:6px;align-items:baseline;gap:8px;padding:10px 14px;font-family:Noto Serif SC,serif;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:flex}.chapter-overlay-item:hover,.chapter-overlay-item.active{color:var(--drawer-active);border-left-color:var(--gold-light);background:#ffffff0f}.chapter-overlay-panel.mobile-sheet .chapter-overlay-list{grid-template-columns:1fr;padding:10px 0 16px}.chapter-overlay-panel.mobile-sheet .chapter-overlay-item{border-radius:0;padding:10px 20px}.back-to-cover-drawer{color:var(--ink-faint);cursor:pointer;letter-spacing:.05em;background:0 0;border:none;align-items:center;gap:6px;padding:0 0 12px;font-family:Noto Serif SC,serif;font-size:12px;transition:color .15s;display:flex}.back-to-cover-drawer:hover{color:var(--drawer-text)}.page-nav{border-top:1px solid var(--parchment-3);background:var(--parchment-2);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 40px;display:flex}.nav-btn{border:1px solid var(--parchment-3);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:4px;padding:8px 20px;font-family:Noto Serif SC,serif;font-size:13px;transition:border-color .15s,color .15s,background .15s}.nav-btn:hover:not(:disabled){border-color:var(--gold);color:var(--gold);background:#8b69140d}.nav-btn:disabled{opacity:.3;cursor:default}.page-indicator{color:var(--ink-faint);letter-spacing:.1em;font-size:12px}.page-indicator-btn{color:var(--ink-faint);letter-spacing:.1em;cursor:default;background:0 0;border:none;padding:4px 8px;font-family:Noto Serif SC,serif;font-size:12px}.mobile-nav-icon{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;transition:color .15s,background .15s;display:flex}.mobile-nav-icon:hover{color:var(--ink-soft);background:#2c20160f}.manga-drawer.mobile-manga{z-index:50;border-radius:0;transition:transform .3s;position:fixed;inset:0;transform:translateY(calc(100% + 32px));width:100%!important}.manga-drawer.mobile-manga.open{transform:translateY(0)}.manga-toggle.mobile-manga-toggle{z-index:55;border-radius:50%;width:44px;height:44px;position:fixed;inset:auto 20px 80px auto}.manga-mobile-close{background:var(--drawer-bg);border:1.5px solid var(--drawer-border);width:44px;height:44px;color:var(--drawer-text);cursor:pointer;z-index:56;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:fixed;bottom:80px;right:20px}.manga-mobile-close:hover{background:var(--drawer-border)}@media (width<=767px){.page-scroll{padding-bottom:60px}.page-nav{gap:4px;padding:10px 16px}.nav-btn{padding:8px 12px;font-size:12px}.page-indicator-btn.clickable{cursor:pointer;border:1px solid var(--parchment-3);border-radius:4px}.chapter-body{padding:28px 20px 20px;font-size:16px}.chapter-header{padding:36px 20px 0}.chapter-title{font-size:26px}}
