:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--reader-bg:#151515;--reader-bar:#0d0d0d;--reader-line:#ffffff1a;--reader-text:#f5f2ec;--reader-muted:#ffffff8f;--reader-accent:#8e2029;background:var(--reader-bg);color:var(--reader-text);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;min-height:100dvh;margin:0}body{overflow:hidden}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:2px solid var(--reader-text);outline-offset:3px}.reader-app{background:radial-gradient(circle at 50% 45%, #ffffff0a, transparent 48rem), var(--reader-bg);grid-template-rows:minmax(0,1fr) auto;width:100vw;height:100dvh;min-height:100dvh;display:grid;overflow:hidden}.stage{place-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:26px 78px 20px;display:grid;position:relative;overflow:hidden}.book-shell,.book-mount{width:100%;min-width:0;height:100%;min-height:0}.book-shell{place-items:center;display:grid;position:relative}.book-mount{place-items:center;display:grid;overflow:hidden}.book{filter:drop-shadow(0 28px 34px #0000007a);flex:none;min-width:0!important;min-height:0!important}.book-page{background:#f0ede7;position:absolute;overflow:hidden}.book-page:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000000f}.pdf-canvas{object-fit:contain;opacity:0;background:#fff;width:100%;height:100%;transition:opacity .15s;display:block}.book-page.is-rendered .pdf-canvas{opacity:1}.page-placeholder{background:#efede8;position:absolute;inset:0}.book-page.is-rendered .page-placeholder{display:none}.page-hotspot{z-index:20;color:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#0003;border:1px solid #ffffff14;border-radius:999px;width:48px;height:76px;font-family:Georgia,Times New Roman,serif;font-size:2.2rem;line-height:1;transition:color .15s,background .15s,opacity .15s;position:absolute;top:50%;transform:translateY(-50%)}.page-hotspot:hover{color:#fff;background:#00000080}.page-hotspot:disabled{opacity:.12;cursor:default}.page-hotspot-left{left:10px}.page-hotspot-right{right:10px}.controls{z-index:30;border-top:1px solid var(--reader-line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0d0d0df5;grid-template-columns:auto minmax(130px,auto) minmax(160px,620px) auto auto;justify-content:center;align-items:center;gap:16px;min-height:64px;padding:10px 22px;display:grid;position:relative}.control-button{width:38px;height:38px;color:var(--reader-text);cursor:pointer;background:#ffffff09;border:1px solid #ffffff1a;border-radius:50%;place-items:center;padding:0;font-size:1.5rem;line-height:1;transition:background .15s,opacity .15s;display:grid}.control-button:hover{background:#ffffff1a}.control-button:disabled{opacity:.22;cursor:default}.fullscreen-button{font-size:1.02rem}.page-count{min-width:150px;color:var(--reader-muted);letter-spacing:.11em;text-align:center;white-space:nowrap;font-size:.72rem;font-weight:650}.page-slider{width:100%;min-width:0;accent-color:var(--reader-accent);cursor:pointer}.loading-panel,.error-panel{z-index:40;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-panel{place-items:center;display:grid}.spinner{border:2px solid #ffffff1f;border-top-color:#ffffffe6;border-radius:50%;width:30px;height:30px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-panel{text-align:center;background:#0d0d0deb;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;align-items:center;gap:10px;width:min(520px,100% - 40px);padding:26px;display:flex}.error-panel span{color:var(--reader-muted);font-size:.88rem;line-height:1.55}.error-panel code{color:var(--reader-text)}.is-hidden{display:none!important}@media (width<=760px){.stage{padding:14px 8px 8px}.page-hotspot{display:none}.controls{grid-template-columns:auto minmax(105px,auto) minmax(80px,1fr) auto;gap:9px;min-height:60px;padding:9px 10px}.fullscreen-button{display:none}.page-count{letter-spacing:.07em;min-width:105px;font-size:.62rem}.control-button{width:36px;height:36px}}
