.mag-reader [hidden],.mag-reader[hidden]{display:none!important}.mag-reader{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at center,#1c1b3a,#0a0a1a 70%);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-tap-highlight-color:transparent}.mag-bar{display:flex;align-items:center;gap:4px;padding:0 8px;flex-shrink:0}.mag-bar--top{height:56px;background:#0a0a1aeb;border-bottom:1px solid rgba(255,255,255,.08)}.mag-bar--bottom{height:64px;justify-content:center;gap:16px}.mag-ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.mag-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:0 10px;border-radius:10px;font-weight:700;font-size:14px;color:#fff;transition:background .2s,opacity .2s,transform .1s}.mag-btn:active:not(:disabled){transform:scale(.96)}.mag-btn:disabled{opacity:.35;cursor:default}.mag-btn:focus-visible,.mag-page-label:focus-visible,.mag-thumb:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.mag-btn--ghost:hover:not(:disabled){background:#ffffff1a}.mag-btn--round{width:48px;height:48px;border-radius:9999px;background:#ffffff1a}.mag-btn--round:hover:not(:disabled){background:#fff3}.mag-btn--primary{background:var(--color-secondary);color:var(--color-primary);padding:0 20px}.mag-btn--outline{border:1px solid rgba(255,255,255,.3);padding:0 20px}.mag-page-label{min-width:108px;min-height:40px;padding:0 14px;border-radius:9999px;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;background:#ffffff0f}.mag-page-label:hover:not(:disabled){background:#ffffff24}.mag-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden}.mag-book-wrap{transition:transform .5s ease;will-change:transform}.mag-book-wrap .stf__parent{margin:0 auto}.mag-page{background:#fff;overflow:hidden}.mag-page canvas{display:block;width:100%;height:100%}.mag-page__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:13px;font-weight:700;background:linear-gradient(110deg,#f3f4f6 30%,#fafafa,#f3f4f6 70%);background-size:200% 100%;animation:mag-shimmer 1.4s linear infinite}@keyframes mag-shimmer{to{background-position:-200% 0}}.mag-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a0a1ad9;z-index:20}.mag-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;background:#0a0a1a;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.mag-thumbs{flex:1;overflow-y:auto;padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:16px;align-content:start}.mag-thumb{display:flex;flex-direction:column;gap:6px;align-items:center;border-radius:6px;padding:4px}.mag-thumb__img{width:100%;background:#fff;border-radius:3px;overflow:hidden;box-shadow:0 2px 8px #0006}.mag-thumb__img canvas{display:block;width:100%;height:auto}.mag-thumb span{font-size:12px;font-weight:700;color:#ffffffb3}.mag-thumb[aria-current=true] .mag-thumb__img{outline:3px solid var(--color-secondary)}.mag-thumb[aria-current=true] span{color:var(--color-secondary)}.mag-zoom-scroll{flex:1;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}.mag-zoom-pages{display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px;margin:0 auto;transform-origin:0 0}.mag-zoom-page{position:relative;background:#fff;box-shadow:0 4px 16px #00000080}.mag-zoom-page canvas{display:block;width:100%;height:100%}.mag-toast{position:absolute;left:50%;bottom:80px;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 10px 10px 16px;border-radius:12px;background:#fff;color:var(--color-primary);font-size:14px;font-weight:600;box-shadow:0 8px 24px #0006}.mag-toast button{padding:8px 12px;border-radius:8px;font-weight:700;background:var(--color-primary);color:#fff;white-space:nowrap}@media(prefers-reduced-motion:reduce){.mag-book-wrap,.mag-page__placeholder{transition:none;animation:none}}.mag-title{white-space:nowrap;text-wrap:nowrap;overflow:hidden;text-overflow:ellipsis}
