:root{--viewer-padding:clamp(8px,2vw,16px);--button-min-size:44px;--ui-font-size:clamp(13px,2vw,15px);--ui-font-weight:500;--viewer-bg:#ffffff;--viewer-border:#e5e7eb;--viewer-text:#1a1a1a;--viewer-muted:#64748b;--viewer-accent:#22c55e;--viewer-accent-hover:#16a34a;--transition-fast:150ms ease;--transition-normal:200ms ease}.epub-viewer-root{position:relative;width:100%;height:100%;min-height:400px;background:var(--viewer-bg);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06)}.epub-viewer-root button[aria-label="Next page"],.epub-viewer-root button[aria-label="Previous page"]{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.95);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:15;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:all .2s ease;-webkit-tap-highlight-color:transparent}.epub-viewer-root button[aria-label="Previous page"]{left:12px}.epub-viewer-root button[aria-label="Next page"]{right:12px}.epub-viewer-root button[aria-label="Next page"]:hover:not(:disabled),.epub-viewer-root button[aria-label="Previous page"]:hover:not(:disabled){background:#ffffff;box-shadow:0 6px 20px rgba(0,0,0,.15);transform:translateY(-50%) scale(1.05)}.epub-viewer-root button[aria-label="Next page"]:active:not(:disabled),.epub-viewer-root button[aria-label="Previous page"]:active:not(:disabled){transform:translateY(-50%) scale(.95)}.epub-viewer-root button[aria-label="Next page"]:disabled,.epub-viewer-root button[aria-label="Previous page"]:disabled{opacity:.4;cursor:not-allowed}.epub-viewer-root button[aria-label="Next page"] svg,.epub-viewer-root button[aria-label="Previous page"] svg{width:24px;height:24px;stroke:var(--viewer-accent)}.epub-viewer-root>div:first-child{position:absolute;top:0;left:0;right:0;height:4px;background:#e5e7eb;z-index:20;border-radius:12px 12px 0 0;overflow:hidden}.epub-viewer-root>div:first-child>div{height:100%;background:linear-gradient(90deg,var(--viewer-accent) 0,var(--viewer-accent-hover) 100%);border-radius:12px 12px 0 0;transition:width .3s ease-out}.epub-viewer-root iframe{width:100%;height:100%;border:none;display:block;padding-top:4px}.epub-popup,.pdf-popup{position:fixed;z-index:2000;background:var(--viewer-bg);border:1px solid var(--viewer-border);border-radius:clamp(10px,2vw,14px);padding:clamp(12px,2.5vw,18px);box-shadow:0 8px 32px rgba(0,0,0,.18);max-width:min(90vw,400px);min-width:min(85vw,280px)}.epub-popup button,.pdf-popup button{min-height:var(--button-min-size);font-weight:600;border-radius:clamp(8px,1.5vw,10px);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.epub-popup button:active,.pdf-popup button:active{transform:scale(.97)}@media (max-width:639px){.epub-viewer-root{height:calc(100vh - 140px);min-height:350px;border-radius:8px}.epub-viewer-root button[aria-label="Next page"],.epub-viewer-root button[aria-label="Previous page"]{width:40px;height:40px}.epub-viewer-root button[aria-label="Previous page"]{left:6px}.epub-viewer-root button[aria-label="Next page"]{right:6px}.epub-viewer-root button[aria-label="Next page"] svg,.epub-viewer-root button[aria-label="Previous page"] svg{width:20px;height:20px}.epub-popup,.pdf-popup{left:8px!important;right:8px!important;width:auto!important;max-width:none!important;min-width:auto!important}.epub-popup>div:last-child,.pdf-popup>div:last-child{flex-direction:column!important}.epub-popup>div:last-child button,.pdf-popup>div:last-child button{width:100%}}@media (min-width:640px) and (max-width:1023px){.epub-viewer-root{height:calc(100vh - 160px);min-height:450px}.epub-viewer-root button[aria-label="Next page"],.epub-viewer-root button[aria-label="Previous page"]{width:50px;height:50px}.epub-viewer-root button[aria-label="Previous page"]{left:10px}.epub-viewer-root button[aria-label="Next page"]{right:10px}.epub-viewer-root button[aria-label="Next page"] svg,.epub-viewer-root button[aria-label="Previous page"] svg{width:24px;height:24px}}@media (min-width:1024px){.epub-viewer-root{height:calc(100vh - 120px);min-height:500px;border-radius:12px}.epub-viewer-root button[aria-label="Next page"],.epub-viewer-root button[aria-label="Previous page"]{width:52px;height:52px}.epub-viewer-root button[aria-label="Previous page"]{left:16px}.epub-viewer-root button[aria-label="Next page"]{right:16px}.epub-viewer-root button[aria-label="Next page"] svg,.epub-viewer-root button[aria-label="Previous page"] svg{width:26px;height:26px}}@media (min-width:1440px){.epub-nav-arrow-left{left:16px}.epub-nav-arrow-right{right:16px}.epub-fullscreen-btn{top:16px;left:16px;width:44px;height:44px}}.pdf-viewer-root{display:flex;flex-direction:column;height:100%;min-height:400px;background:var(--viewer-bg);border-radius:clamp(8px,1.5vw,12px);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.08)}.pdf-nav-arrow{position:absolute;top:50%;transform:translateY(-50%);width:clamp(44px,8vw,56px);height:clamp(44px,8vw,56px);border-radius:50%;background:rgba(255,255,255,.95);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 4px 16px rgba(0,0,0,.12);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.pdf-nav-arrow:hover:not(:disabled){background:#ffffff;box-shadow:0 6px 20px rgba(0,0,0,.16);transform:translateY(-50%) scale(1.05)}.pdf-nav-arrow:active:not(:disabled){transform:translateY(-50%) scale(.95)}.pdf-nav-arrow:disabled{opacity:.4;cursor:not-allowed}.pdf-nav-arrow svg{width:clamp(20px,4vw,28px);height:clamp(20px,4vw,28px);color:var(--viewer-accent);stroke:var(--viewer-accent)}.pdf-page-indicator{left:50%;transform:translateX(-50%);padding:clamp(6px,1vh,10px) clamp(12px,2vw,20px);font-size:var(--ui-font-size);font-weight:var(--ui-font-weight);color:var(--viewer-text);white-space:nowrap}.pdf-fullscreen-btn,.pdf-page-indicator{position:absolute;top:clamp(8px,1.5vh,16px);background:rgba(255,255,255,.95);border-radius:clamp(6px,1vw,10px);box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:10}.pdf-fullscreen-btn{left:clamp(8px,1.5vw,16px);width:clamp(36px,6vw,44px);height:clamp(36px,6vw,44px);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.pdf-quiz-wrapper{position:absolute;top:clamp(8px,1.5vh,16px);right:clamp(8px,1.5vw,16px);z-index:10}.pdf-quiz-btn{display:flex;align-items:center;gap:clamp(4px,1vw,8px);padding:clamp(8px,1.5vh,12px) clamp(12px,2vw,18px);min-height:var(--button-min-size);background:linear-gradient(135deg,var(--viewer-accent) 0,var(--viewer-accent-hover) 100%);border:none;border-radius:clamp(8px,1.5vw,12px);color:#ffffff;font-weight:700;font-size:clamp(14px,2.5vw,18px);cursor:pointer;box-shadow:0 4px 12px rgba(34,197,94,.3);transition:all var(--transition-fast)}@media (max-width:639px){.quiz-modal-overlay{padding:8px!important}.quiz-modal-content{max-width:100%!important;max-height:90vh!important;width:100%!important;padding:16px!important;border-radius:12px!important;overflow-y:auto!important}.quiz-modal-close{min-width:44px!important;min-height:44px!important;font-size:24px!important}.quiz-question-text{font-size:clamp(15px,4vw,18px)!important;line-height:1.5!important}.quiz-choice-label{padding:14px 16px!important;font-size:clamp(14px,3.5vw,16px)!important;min-height:48px!important}.quiz-btn{min-height:48px!important;padding:14px 20px!important;font-size:15px!important}.quiz-navigation-buttons{flex-direction:column!important;gap:10px!important}.quiz-btn-finish,.quiz-btn-next,.quiz-btn-prev{width:100%!important;max-width:none!important}}@media (prefers-reduced-motion:reduce){.epub-fullscreen-btn,.epub-nav-arrow,.epub-popup,.epub-quiz-btn,.pdf-fullscreen-btn,.pdf-nav-arrow,.pdf-popup,.pdf-quiz-btn{transition:none!important;animation:none!important}.epub-nav-arrow.pulse-animation{animation:none!important}}.epub-fullscreen-btn:focus-visible,.epub-nav-arrow:focus-visible,.epub-quiz-btn:focus-visible,.pdf-fullscreen-btn:focus-visible,.pdf-nav-arrow:focus-visible,.pdf-quiz-btn:focus-visible{outline:3px solid var(--viewer-accent);outline-offset:2px}@media (hover:none) and (pointer:coarse){.epub-fullscreen-btn:active,.epub-nav-arrow:active:not(:disabled),.pdf-fullscreen-btn:active,.pdf-nav-arrow:active:not(:disabled){background:rgba(34,197,94,.1)}.epub-quiz-btn:active,.pdf-quiz-btn:active{transform:scale(.97)}}@media print{.epub-viewer-root,.pdf-viewer-root{height:auto!important;min-height:auto!important;box-shadow:none!important;border:none!important}.epub-fullscreen-btn,.epub-nav-arrow,.epub-page-indicator,.epub-quiz-wrapper,.pdf-fullscreen-btn,.pdf-nav-arrow,.pdf-page-indicator,.pdf-quiz-wrapper{display:none!important}}@media (max-height:500px) and (orientation:landscape){.epub-viewer-root,.pdf-viewer-root{height:calc(100vh - 80px);min-height:280px}.epub-nav-arrow,.pdf-nav-arrow{width:40px;height:40px}.epub-nav-arrow svg,.pdf-nav-arrow svg{width:18px;height:18px}.epub-page-indicator,.pdf-page-indicator{padding:4px 10px;font-size:12px}.epub-fullscreen-btn,.pdf-fullscreen-btn{width:32px;height:32px}.epub-quiz-btn,.pdf-quiz-btn{padding:6px 10px;font-size:13px}.epub-quiz-btn span,.pdf-quiz-btn span{display:none}}@media (prefers-contrast:high){.epub-nav-arrow,.pdf-nav-arrow{border:2px solid var(--viewer-text)}.epub-page-indicator,.pdf-page-indicator{border:1px solid var(--viewer-text)}.epub-popup,.pdf-popup{border:2px solid var(--viewer-text)}}@media (min-width:1024px){.pdf-quiz-wrapper{position:absolute!important;top:clamp(8px,1.5vh,16px)!important;right:clamp(60px,8vw,100px)!important;z-index:10!important}.pdf-quiz-btn{height:auto!important;min-height:44px!important;padding:10px 18px!important;font-size:15px!important}.pdf-quiz-btn svg{width:24px!important;height:24px!important;margin-right:6px!important}.pdf-quiz-btn span{font-size:15px!important;display:inline!important}.epub-quiz-wrapper{position:absolute!important;top:clamp(8px,1.5vh,16px)!important;right:clamp(60px,8vw,100px)!important;z-index:10!important}.epub-quiz-btn{height:auto!important;min-height:44px!important;padding:10px 18px!important;font-size:15px!important}.epub-quiz-btn svg{width:26px!important;height:26px!important;margin-right:6px!important}.epub-quiz-btn span{font-size:16px!important;display:inline!important}.sidebar-history,.sidebar-history[style*="overflow: hidden"]{overflow-x:visible!important;overflow-y:auto!important}.sidebar-history.sidebar-expanded{min-width:200px!important;max-width:320px!important}.sidebar-history>div:last-child{padding-right:1rem!important;overflow:visible!important}.sidebar-history span[style*="position: absolute"]{right:.5rem!important;z-index:10!important}.sidebar-history>div:last-child>div{overflow:visible!important}.sidebar-history>div:last-child>div[style*="position: relative"]{padding-right:2rem!important}.sidebar-history span[onClick]{right:.5rem!important;z-index:15!important}.sidebar-history>div:last-child{padding-right:1.5rem!important;margin-right:.5rem!important}.sidebar-history>div:last-child>div[style*="position: relative"]{overflow:visible!important;padding-right:2.5rem!important;margin-right:0!important}.epub-viewer-root:before{content:"";position:absolute;top:50%;left:50%;width:1px;height:60%;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.03) 20%,rgba(0,0,0,.05) 50%,rgba(0,0,0,.03) 80%,transparent);transform:translateX(-50%) translateY(-50%);pointer-events:none;z-index:1;opacity:0;transition:opacity .3s ease}}@media (min-width:1024px){.epub-viewer-root:has(iframe[style*="opacity: 1"]):before{opacity:1}}@media (min-width:1440px){.epub-nav-arrow-left{left:20px!important}.epub-nav-arrow-right{right:20px!important}.pdf-nav-arrow-left{left:20px!important}.pdf-nav-arrow-right{right:20px!important}.epub-quiz-btn,.pdf-quiz-btn{padding:12px 22px!important;font-size:16px!important}.epub-quiz-btn svg,.pdf-quiz-btn svg{width:28px!important;height:28px!important}}@media (min-width:1920px){.epub-viewer-root>div:last-child>iframe{max-width:1600px;margin:0 auto}.epub-viewer-content{display:flex;justify-content:center}}@media (hover:hover) and (pointer:fine){.epub-nav-arrow:hover:not(:disabled),.pdf-nav-arrow:hover:not(:disabled){background:#ffffff!important;box-shadow:0 6px 24px rgba(0,0,0,.18)!important}.epub-nav-arrow:hover:not(:disabled) svg,.pdf-nav-arrow:hover:not(:disabled) svg{stroke:#16a34a!important}.epub-quiz-btn:hover,.pdf-quiz-btn:hover{transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(34,197,94,.4)!important}.epub-fullscreen-btn:hover,.pdf-fullscreen-btn:hover{background:#ffffff!important;box-shadow:0 4px 16px rgba(0,0,0,.12)!important}.epub-fullscreen-btn:hover svg,.pdf-fullscreen-btn:hover svg{stroke:#16a34a!important}.epub-popup button:hover:not(:disabled),.pdf-popup button:hover:not(:disabled){filter:brightness(1.05)}}@media (min-width:1024px){.epub-popup,.pdf-popup{max-width:420px!important;min-width:360px!important;padding:18px!important;border-radius:14px!important}.epub-popup button,.pdf-popup button{min-height:46px!important;font-size:15px!important}}@keyframes pulse{0%{transform:translateY(-50%) scale(1);box-shadow:0 4px 12px rgba(0,0,0,.15)}50%{transform:translateY(-50%) scale(1.1);box-shadow:0 6px 20px rgba(34,197,94,.3)}to{transform:translateY(-50%) scale(1);box-shadow:0 4px 12px rgba(0,0,0,.15)}}.pulse-animation{animation:pulse 2s ease-in-out infinite}.epub-nav-arrow,.pdf-nav-arrow{transition:all .3s ease}.epub-nav-arrow:hover:not(:disabled),.pdf-nav-arrow:hover:not(:disabled){transform:translateY(-50%) scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,.2)}.epub-nav-arrow:active:not(:disabled),.pdf-nav-arrow:active:not(:disabled){transform:translateY(-50%) scale(.95)}@media (max-width:768px){.epub-nav-arrow,.pdf-nav-arrow{width:45px!important;height:45px!important;left:2px!important;right:2px!important}.epub-nav-arrow svg,.pdf-nav-arrow svg{width:20px!important;height:20px!important}.epub-page-indicator,.pdf-page-indicator{top:8px!important;padding:.375rem .75rem!important;font-size:.75rem!important}}@media (min-width:769px) and (max-width:1024px){.epub-nav-arrow,.pdf-nav-arrow{width:55px!important;height:55px!important;left:15px!important;right:15px!important}.epub-nav-arrow svg,.pdf-nav-arrow svg{width:22px!important;height:22px!important}}@media (max-width:480px){.epub-nav-arrow,.pdf-nav-arrow{width:40px!important;height:40px!important;left:1px!important;right:1px!important}.epub-nav-arrow svg,.pdf-nav-arrow svg{width:18px!important;height:18px!important}.epub-page-indicator,.pdf-page-indicator{font-size:.7rem!important;padding:.25rem .5rem!important}}@media (max-width:768px) and (orientation:landscape){.epub-nav-arrow,.pdf-nav-arrow{width:40px!important;height:40px!important;left:1px!important;right:1px!important}.epub-nav-arrow svg,.pdf-nav-arrow svg{width:18px!important;height:18px!important}}@media (prefers-contrast:high){.epub-nav-arrow,.pdf-nav-arrow{border:2px solid #000}.epub-nav-arrow:disabled,.pdf-nav-arrow:disabled{border-color:#666}}@media (prefers-reduced-motion:reduce){.pulse-animation{animation:none}.epub-nav-arrow,.pdf-nav-arrow{transition:opacity .2s ease}}.epub-nav-arrow:focus,.pdf-nav-arrow:focus{outline:2px solid #22c55e;outline-offset:2px}@media (hover:none) and (pointer:coarse){.epub-nav-arrow:hover,.pdf-nav-arrow:hover{transform:translateY(-50%) scale(1)}}