:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;--bg-gradient:radial-gradient(ellipse at 50% 46%, #fff 0, #eeeef4 74%);--bg-color:#f4f4f8;--surface-bg:#fffffff0;--surface-border:#00005424;--text-main:#000054;--text-muted:#000054b8;--brand-accent:#fac800;--btn-bg:#fff;--btn-text:#000054;--btn-border:#00005433;--btn-hover-bg:#f8f8fc;--focus-ring:#000054;--page-shadow:drop-shadow(0 10px 24px #00005433);--page-border:#0000541f;--skeleton-bg:#e2e4ec;--skeleton-pulse:#f0f2fa;--notice-bg:#000054;--notice-text:#fff;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg-gradient:radial-gradient(ellipse at 50% 46%, #1a1c28 0, #0c0d14 74%);--bg-color:#0c0d14;--surface-bg:#161924f0;--surface-border:#ffffff1f;--text-main:#f0f2fa;--text-muted:#f0f2fab8;--brand-accent:#fac800;--btn-bg:#222638;--btn-text:#f0f2fa;--btn-border:#ffffff2e;--btn-hover-bg:#2d3248;--focus-ring:#fac800;--page-shadow:drop-shadow(0 12px 32px #000000b3);--page-border:#ffffff14;--skeleton-bg:#1e2232;--skeleton-pulse:#282d42;--notice-bg:#222638;--notice-text:#fff}}*{box-sizing:border-box}html,body,#root{background:var(--bg-color);width:100%;max-width:100vw;height:100%;color:var(--text-main);margin:0;padding:0;overflow:hidden}button,input,a{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;border:1px solid var(--btn-border);background:var(--btn-bg);min-width:44px;min-height:44px;color:var(--btn-text);border-radius:10px;justify-content:center;align-items:center;padding:8px 16px;font-weight:650;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}button:hover:not(:disabled){background:var(--btn-hover-bg)}button:disabled{cursor:default;opacity:.38}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}a{text-decoration:none}.flipbook-app{background:var(--bg-gradient);isolation:isolate;flex-direction:column;width:100%;max-width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}:-webkit-any(.flipbook-app:fullscreen,.flipbook-app:-webkit-full-screen){background:var(--bg-gradient);width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important}:is(.flipbook-app:fullscreen,.flipbook-app:fullscreen){background:var(--bg-gradient);width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important}.flipbook-app.immersive-fullscreen{z-index:999999!important;background:var(--bg-gradient)!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;position:fixed!important;inset:0!important}.flip-header{background:var(--surface-bg);-webkit-backdrop-filter:blur(16px);padding:max(12px, env(safe-area-inset-top,12px)) max(16px, env(safe-area-inset-right,16px)) 12px max(16px, env(safe-area-inset-left,16px));border-bottom:1px solid var(--surface-border);z-index:10;align-items:center;gap:16px;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .25s;display:flex;position:absolute;top:0;left:0;right:0}.brand{letter-spacing:-.5px;border-left:5px solid var(--brand-accent);color:var(--text-main);flex:none;padding-left:10px;font-size:24px;font-weight:850;text-decoration:none}.flip-header h1{-webkit-line-clamp:2;min-width:0;color:var(--text-main);-webkit-box-orient:vertical;flex:1;margin:0;font-size:15px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.header-actions{flex:none;align-items:center;gap:8px;display:flex}.download{background:var(--brand-accent);color:#000054;border-radius:10px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px 16px;font-size:14px;font-weight:750;text-decoration:none;transition:filter .15s;display:inline-flex}.download:hover{filter:brightness(1.05)}.fullscreen-btn{background:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-border);min-width:44px;min-height:44px;padding:8px 14px;font-size:14px;font-weight:650}.book-stage{width:100%;max-width:100vw;min-height:0;padding:max(68px, calc(env(safe-area-inset-top,0px) + 56px)) max(12px, env(safe-area-inset-right,12px)) max(68px, calc(env(safe-area-inset-bottom,0px) + 56px)) max(12px, env(safe-area-inset-left,12px));-webkit-user-select:none;user-select:none;touch-action:none;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.book-stage.zoomed{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;cursor:grab;overflow:auto}.book-stage.zoomed:active{cursor:grabbing}.book{perspective:1600px;filter:var(--page-shadow);transform-origin:50%;flex:none;justify-content:center;align-items:center;max-width:100%;margin:auto;transition:transform 50ms ease-out;display:flex;position:relative}.page-surface{border:1px solid var(--page-border);background:#fff;flex:none;line-height:0;position:relative}.page-surface[hidden]{display:none!important}.page-surface canvas{-webkit-user-select:none;user-select:none;background:#fff;display:block}.spread .left-page{border-right:1px solid #0000541f}.spread .right-page{border-left:1px solid #00005414}.spread .book:after{pointer-events:none;content:"";z-index:2;background:linear-gradient(90deg,#0000001f,#0000 45%,#00000024);width:16px;position:absolute;inset:0 auto 0 50%;transform:translate(-50%)}.single .book:after{display:none}.turn-leaf{backface-visibility:hidden;z-index:4;transform-style:preserve-3d;pointer-events:none;background:#fff;position:absolute;top:0}.turn-leaf.forward{transform-origin:0;animation:.52s cubic-bezier(.25,.65,.25,1) both turn-forward;left:50%}.turn-leaf.backward{transform-origin:100%;animation:.52s cubic-bezier(.25,.65,.25,1) both turn-backward;right:50%}.single .turn-leaf.forward{animation:.48s cubic-bezier(.25,.65,.25,1) both turn-forward-single;left:0}.single .turn-leaf.backward{animation:.48s cubic-bezier(.25,.65,.25,1) both turn-backward-single;right:0}@keyframes turn-forward{0%{filter:brightness();transform:rotateY(0)}to{filter:brightness(.8);transform:rotateY(-180deg)}}@keyframes turn-backward{0%{filter:brightness();transform:rotateY(0)}to{filter:brightness(.8);transform:rotateY(180deg)}}@keyframes turn-forward-single{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-40px)}}@keyframes turn-backward-single{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}.textLayer{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;text-align:initial;opacity:1;letter-spacing:normal;word-spacing:normal;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:3;--min-font-size:1;--text-scale-factor:calc(var(--total-scale-factor) * var(--min-font-size));--min-font-size-inv:calc(1 / var(--min-font-size));line-height:1;position:absolute;inset:0;overflow:clip}.textLayer :is(span,br){color:#0000;white-space:pre;cursor:text;transform-origin:0 0;-webkit-user-select:text;user-select:text;position:absolute}.textLayer>:not(.markedContent),.textLayer .markedContent span:not(.markedContent){z-index:1;--font-height:0;font-size:calc(var(--text-scale-factor) * var(--font-height));--scale-x:1;--rotate:0deg;transform:rotate(var(--rotate)) scaleX(var(--scale-x)) scale(var(--min-font-size-inv))}.textLayer .markedContent{display:contents}.textLayer span[role=img]{-webkit-user-select:none;user-select:none;cursor:default}.textLayer ::selection{color:#0000;background:#fac80088}.page-placeholder{background:var(--skeleton-bg);border:1px solid var(--page-border);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:relative;overflow:hidden}.page-placeholder:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-pulse) 50%, transparent 100%);animation:1.6s ease-in-out infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.placeholder-text{color:var(--text-muted);z-index:1;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.flip-controls{background:var(--surface-bg);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--surface-border);padding:10px max(16px, env(safe-area-inset-right,16px)) max(12px, env(safe-area-inset-bottom,12px)) max(16px, env(safe-area-inset-left,16px));z-index:10;justify-content:center;align-items:center;gap:20px;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .25s;display:flex;position:absolute;bottom:0;left:0;right:0}.flipbook-app.toolbar-hidden .flip-header{opacity:0;pointer-events:none;transform:translateY(-100%)}.flipbook-app.toolbar-hidden .flip-controls{opacity:0;pointer-events:none;transform:translateY(100%)}.flipbook-app.toolbar-hidden .book-stage{padding-top:max(12px, env(safe-area-inset-top,12px));padding-bottom:max(12px, env(safe-area-inset-bottom,12px))}.page-location{white-space:nowrap;color:var(--text-main);align-items:center;gap:8px;font-size:14px;display:flex}.page-location input{border:1px solid var(--btn-border);text-align:center;width:58px;min-height:44px;color:var(--text-main);background:var(--btn-bg);appearance:textfield;border-radius:9px;font-size:16px}.page-location input::-webkit-inner-spin-button{appearance:none;margin:0}.page-location input::-webkit-outer-spin-button{appearance:none;margin:0}.zoom-controls{align-items:center;gap:6px;display:flex}.zoom-controls button{min-width:44px;min-height:44px;padding:8px 12px}.reader-message{background:var(--surface-bg);z-index:5;text-align:center;color:var(--text-main);border:1px solid var(--surface-border);border-radius:12px;margin:0;padding:12px 20px;font-size:14px;font-weight:550;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 20px #00005429}.reader-message.error{color:#e53e3e;border-color:#e53e3e}.reader-message.error a{font-weight:650;text-decoration:underline}.fullscreen-notice{background:var(--notice-bg);color:var(--notice-text);z-index:20;border-radius:12px;align-items:center;gap:12px;max-width:calc(100% - 32px);padding:12px 18px;font-size:14px;display:flex;position:absolute;bottom:84px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000059}.fullscreen-notice button{background:var(--brand-accent);color:#000054;border:none;min-width:44px;min-height:44px;padding:4px 10px;font-size:16px}.initial-message{background:var(--bg-gradient);min-height:100dvh;color:var(--text-main);place-items:center;margin:0;padding:24px;display:grid}@media (width<=740px){.flip-header{padding:max(10px, env(safe-area-inset-top,10px)) max(12px, env(safe-area-inset-right,12px)) 10px max(12px, env(safe-area-inset-left,12px));flex-wrap:wrap;gap:8px}.brand{font-size:20px}.flip-header h1{flex-basis:calc(100% - 90px);font-size:13px}.header-actions{justify-content:flex-end;gap:8px;width:100%}.header-actions>*{flex:1;min-height:44px}.book-stage{padding-top:max(96px, calc(env(safe-area-inset-top,0px) + 84px));padding-bottom:max(100px, calc(env(safe-area-inset-bottom,0px) + 88px));padding-left:max(8px, env(safe-area-inset-left,8px));padding-right:max(8px, env(safe-area-inset-right,8px))}.flip-controls{padding-top:8px;padding-left:max(8px, env(safe-area-inset-left,8px));padding-right:max(8px, env(safe-area-inset-right,8px));flex-wrap:wrap;justify-content:space-between;gap:8px}.zoom-controls{flex-basis:100%;order:3;justify-content:center;gap:10px}.flip-controls>button{min-width:44px;padding:8px 12px}.flip-controls>button span{display:none}.page-location{gap:6px;font-size:13px}.page-location label{display:none}}@media (width<=380px){.flip-controls>button{padding:8px}.page-location input{width:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){button,a,input{border:1px solid canvastext}.book{filter:none}}
