@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@600&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#f5f1e8;background:#171714;font-synthesis:none;--accent: #00234b;--panel: rgba(34, 34, 29, .88)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow:hidden}body{-webkit-user-select:none;user-select:none}button,input{font:inherit}button{color:inherit}body{min-height:100dvh;background:radial-gradient(circle at 50% 20%,rgba(114,94,61,.2),transparent 34%),linear-gradient(145deg,#1d1d19,#111210)}.reader-shell{height:100dvh;display:grid;grid-template-rows:74px minmax(0,1fr) 88px}.topbar,.controls{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,3vw,46px);background:var(--panel);backdrop-filter:blur(18px)}.topbar{border-bottom:1px solid rgba(255,255,255,.07)}.controls{border-top:1px solid rgba(255,255,255,.07);gap:24px}.brand{display:flex;align-items:center;gap:13px;min-width:0}.brand-mark{display:grid;place-items:center;flex:0 0 auto;width:35px;height:42px;color:#fff;background:var(--accent);border-radius:2px 8px 8px 2px;font:600 19px Playfair Display,serif;box-shadow:5px 0 #00234b57}.brand div{min-width:0;display:grid}.brand strong{font:600 clamp(15px,2vw,18px) "DM Sans",system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand span:not(.brand-mark){color:#9b9b91;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-top:2px}.top-actions{display:flex;gap:7px;align-items:center}.icon-button,.nav-button{border:1px solid rgba(255,255,255,.11);background:#ffffff0b;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;border-radius:9px}.icon-button:hover,.nav-button:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.icon-button:active,.nav-button:active{transform:scale(.97)}.icon-button{width:39px;height:39px;font-size:19px}.icon-button.wide{width:auto;padding:0 13px;display:flex;align-items:center;gap:8px;font-size:13px}.zoom-value{width:45px;color:#aaa99f;text-align:center;font-size:12px}.stage{position:relative;min-height:0;overflow:auto;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:36px 36px;overscroll-behavior:contain;scrollbar-width:none}.stage::-webkit-scrollbar{display:none}.stage:after{content:"";position:absolute;width:54%;height:7%;bottom:4%;background:#000;filter:blur(30px);opacity:.55;border-radius:50%}.stage.is-zoomed{cursor:grab}.stage.is-panning{cursor:grabbing;scroll-behavior:auto}.stage.is-panning *{cursor:grabbing!important}.book-pan{position:relative;min-width:100%;min-height:100%}.book-pan[hidden]{display:none}.book-viewport{position:absolute;z-index:2;width:1640px}.book{width:100%}.page{background:#f7f4ec;overflow:hidden}.page.is-rendering{background:linear-gradient(110deg,#eeeae1 20%,#faf8f2,#eeeae1 64%);background-size:220% 100%;animation:page-loading 1.3s linear infinite}@keyframes page-loading{to{background-position:-220% 0}}.page-surface,.page canvas{display:block;width:100%;height:100%}.page canvas{object-fit:fill}.page-surface{position:relative;box-shadow:inset 0 0 20px #00000014}.page-surface:after{content:"";position:absolute;inset-block:0;width:6.5%;pointer-events:none;opacity:.72}.page:nth-child(2n) .page-surface:after{right:0;background:linear-gradient(to left,rgba(20,17,12,.25),rgba(20,17,12,.07) 35%,transparent)}.page:nth-child(odd) .page-surface:after{left:0;background:linear-gradient(to right,rgba(20,17,12,.25),rgba(20,17,12,.07) 35%,transparent)}.loading{text-align:center;position:absolute;z-index:3;color:#c9c5ba;left:50%;top:50%;transform:translate(-50%,-50%)}.loading[hidden]{display:none}.loader-mark{display:flex;gap:3px;justify-content:center;margin-bottom:20px;perspective:300px}.loader-mark span{width:38px;height:50px;background:var(--accent);animation:page-wave 1.4s ease-in-out infinite;transform-origin:center right}.loader-mark span:first-child{border-radius:5px 1px 1px 5px}.loader-mark span:last-child{border-radius:1px 5px 5px 1px;animation-delay:.15s;transform-origin:center left}.loading p{font:600 20px Playfair Display,serif;margin:0 0 7px;color:#f5f1e8}.loading small{color:#89897f;max-width:540px;display:block;line-height:1.55}.loading.error .loader-mark{display:none}.loading.error{width:min(620px,calc(100% - 32px));max-height:calc(100% - 24px);overflow:auto}.loading.error small{margin-inline:auto}.error-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:18px}.error-actions[hidden],#error-diagnostics[hidden]{display:none}.error-actions a{color:inherit;text-decoration:none}#error-diagnostics{text-align:left;margin-top:18px;font-size:12px}#error-diagnostics summary{cursor:pointer}#error-diagnostics .diagnostic-note{font:inherit;margin-top:12px}#diagnostic-text{width:100%;margin-block:10px;user-select:text;font:11px monospace}.icon-button:disabled{opacity:.35;cursor:default}.page-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#555;font:14px system-ui,sans-serif}.page-placeholder[hidden]{display:none}@keyframes page-wave{50%{transform:rotateY(-14deg);background:var(--accent)}}.nav-button{min-width:112px;height:46px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 17px;font-size:13px;font-weight:600}.nav-button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.nav-button.primary:hover:not(:disabled){background:#0a3765;border-color:#0a3765}.nav-button:disabled{opacity:.35;cursor:default}.progress-wrap{display:grid;width:min(440px,50vw);gap:10px}.page-count{display:flex;align-items:baseline;justify-content:center;gap:6px;color:#929288;font-size:11px;text-transform:uppercase;letter-spacing:.07em}.page-count strong{color:#f5f1e8;font-size:14px}input[type=range]{width:100%;height:3px;accent-color:var(--accent);cursor:pointer}@media(max-width:700px){.reader-shell{grid-template-rows:62px minmax(0,1fr) 78px}.topbar,.controls{padding-inline:13px}.desktop-only,.zoom-value,#zoom-out,#zoom-in,.nav-button span:not([aria-hidden]){display:none}.icon-button.wide{width:39px;justify-content:center;padding:0}.controls{gap:10px}.nav-button{min-width:44px;width:44px;padding:0;font-size:18px}.progress-wrap{width:calc(100vw - 124px)}.brand span:not(.brand-mark){display:none}}:fullscreen .reader-shell{grid-template-rows:64px minmax(0,1fr) 76px}.library-mode{background:transparent!important}.library-mode .reader-shell{grid-template-rows:minmax(0,1fr);background:transparent}.library-mode .topbar,.library-mode .controls{display:none}.library-mode .stage{background:transparent!important}.library-mode .stage:after{display:none}.library-mode .book-pan.is-preparing{visibility:hidden;pointer-events:none}.library-mode .book-pan.is-preparing .book-viewport{transition:none}.book-viewport.position-ready{transition:left .72s cubic-bezier(.22,.72,.2,1)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
