:root{--reader-bg:#061326;--reader-panel:#0b1f39;--reader-line:rgba(255,255,255,.11);--reader-teal:#2bc3b3;--reader-text:#edf5ff;--reader-muted:#91a5bb}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:Inter,"Segoe UI",system-ui,sans-serif;background:var(--reader-bg);color:var(--reader-text);user-select:none;-webkit-user-select:none}.icon{width:1.25em;height:1.25em}.reader-app{height:100dvh;display:grid;grid-template-rows:64px minmax(0,1fr) 62px;background:radial-gradient(circle at 50% 45%,#183758 0,#0a1c34 43%,#04101f 100%)}.reader-header{display:flex;align-items:center;gap:15px;padding:0 18px;background:rgba(4,16,31,.94);border-bottom:1px solid var(--reader-line);backdrop-filter:blur(14px);z-index:10}.reader-back{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--reader-line);border-radius:10px;color:#fff;text-decoration:none;font-size:1.25rem}.reader-title{display:flex;align-items:center;gap:10px;min-width:0}.reader-title>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:var(--reader-teal);background:rgba(43,195,179,.12)}.reader-title>div{display:flex;min-width:0;flex-direction:column}.reader-title strong{max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.reader-title small{margin-top:2px;color:var(--reader-muted);font-size:.63rem}.reader-tools{display:flex;align-items:center;gap:5px;margin-left:auto}.reader-tools button{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:9px;color:#cfdae6;background:transparent}.reader-tools button:hover{background:rgba(255,255,255,.08)}.reader-tools>span{min-width:45px;text-align:center;color:var(--reader-muted);font-size:.65rem}.reader-stage{position:relative;min-height:0;display:grid;place-items:center;overflow:auto;padding:24px 72px 18px;perspective:1600px}.page-shadow{position:relative;display:none;transform-origin:left center;box-shadow:0 25px 60px rgba(0,0,0,.48),-4px 0 0 rgba(255,255,255,.05);transition:filter .22s;will-change:transform}.page-shadow.ready{display:block}.page-shadow.turn-next{animation:page-turn-next .42s ease}.page-shadow.turn-prev{transform-origin:right center;animation:page-turn-prev .42s ease}.page-shadow:before{content:"";position:absolute;z-index:2;inset:0 auto 0 0;width:4%;pointer-events:none;background:linear-gradient(90deg,rgba(3,11,19,.16),transparent)}.page-gloss{position:absolute;z-index:3;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}#pdfCanvas{display:block;max-width:none;background:#fff}.reader-loader{display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--reader-muted)}.reader-loader strong{margin-top:10px;color:#e7f0f9;font-size:.88rem}.reader-loader span{font-size:.67rem}.book-loader{position:relative;width:58px;height:43px}.book-loader i{position:absolute;top:0;width:28px;height:40px;border:2px solid var(--reader-teal);background:rgba(43,195,179,.08)}.book-loader i:first-child{left:1px;border-radius:4px 0 0 4px;transform-origin:right;animation:left-page 1.2s infinite}.book-loader i:last-child{right:1px;border-radius:0 4px 4px 0}.reader-error{text-align:center;max-width:420px}.reader-error>span{width:52px;height:52px;display:grid;place-items:center;margin:0 auto;border-radius:50%;background:rgba(238,103,94,.13);color:#ff8077;font-size:1.4rem;font-weight:900}.reader-error h2{font-size:1.1rem}.reader-error p{color:var(--reader-muted);font-size:.75rem;line-height:1.65}.reader-error a{display:inline-block;margin-top:10px;padding:10px 15px;border-radius:10px;background:var(--reader-teal);color:#05221f;text-decoration:none;font-size:.72rem;font-weight:800}.page-nav{position:fixed;z-index:5;top:50%;width:48px;height:68px;border:1px solid var(--reader-line);border-radius:13px;color:#fff;background:rgba(4,17,33,.78);font-size:2rem;backdrop-filter:blur(8px)}.page-nav:hover{background:rgba(43,195,179,.22);border-color:rgba(43,195,179,.45)}.page-nav.prev{left:15px}.page-nav.next{right:15px}.reader-footer{display:flex;align-items:center;justify-content:center;gap:30px;padding:0 18px;background:rgba(4,16,31,.96);border-top:1px solid var(--reader-line);z-index:10}.reader-footer>button{min-width:110px;height:38px;border:1px solid var(--reader-line);border-radius:10px;color:#dbe6f0;background:rgba(255,255,255,.04);font-size:.7rem;font-weight:750}.page-status{position:relative;display:flex;align-items:center;gap:6px;color:var(--reader-muted);font-size:.68rem}.page-status input{width:46px;height:30px;border:1px solid var(--reader-line);border-radius:8px;text-align:center;color:#fff;background:#102945;outline:0}.page-status strong{color:#fff}.reader-progress{position:absolute;left:0;right:0;bottom:-13px;height:2px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden}.reader-progress i{display:block;width:0;height:100%;background:var(--reader-teal);transition:.25s}.reader-protection{position:fixed;z-index:15;right:12px;bottom:67px;padding:5px 9px;border-radius:6px;color:rgba(255,255,255,.38);background:rgba(3,13,25,.7);font-size:.55rem;pointer-events:none}@keyframes left-page{0%,100%{transform:rotateY(0)}50%{transform:rotateY(-42deg)}}@keyframes page-turn-next{0%{transform:rotateY(0);filter:brightness(1)}48%{transform:rotateY(-13deg) scale(.985);filter:brightness(.65)}100%{transform:rotateY(0);filter:brightness(1)}}@keyframes page-turn-prev{0%{transform:rotateY(0);filter:brightness(1)}48%{transform:rotateY(13deg) scale(.985);filter:brightness(.65)}100%{transform:rotateY(0);filter:brightness(1)}}
@media(max-width:720px){.reader-app{grid-template-rows:58px minmax(0,1fr) 58px}.reader-header{padding-inline:10px}.reader-title>span{display:none}.reader-title strong{max-width:42vw}.reader-tools>span{display:none}.reader-tools button{width:34px;height:34px}.reader-stage{padding:16px 41px 12px}.page-nav{width:34px;height:54px;border-radius:9px;font-size:1.55rem}.page-nav.prev{left:4px}.page-nav.next{right:4px}.reader-footer{gap:8px}.reader-footer>button{min-width:47px;width:47px}.reader-footer>button span{display:none}.reader-protection{display:none}}@media(max-width:380px){.reader-tools button[data-action="zoom-out"],.reader-tools button[data-action="zoom-in"],.reader-tools [data-zoom-label]{display:none}.reader-title strong{max-width:50vw}}
