.br{background:var(--deep);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.br-bar{border-bottom:1px solid var(--border);background:var(--background);flex:none;align-items:center;gap:clamp(10px,2vw,24px);padding:10px clamp(10px,2.5vw,22px);display:flex}.br-back{border:1px solid var(--border);color:var(--muted);font-family:var(--font-ui), sans-serif;font-size:var(--fs-md,13px);white-space:nowrap;border-radius:8px;flex:none;align-items:center;gap:7px;padding:7px 12px;text-decoration:none;transition:color .2s,border-color .2s;display:inline-flex}.br-back:hover,.br-back:focus-visible{color:var(--gold-bright);border-color:var(--gold)}.br-titles{text-align:center;flex:auto;min-width:0}.br-title{font-family:var(--font-serif);color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(14px,1.7vw,20px);font-weight:600;line-height:1.25;overflow:hidden}.br-author{font-family:var(--font-ui), sans-serif;font-size:var(--fs-sm,11px);color:var(--dim);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;overflow:hidden}.br-tools{flex:none;align-items:center;gap:6px;display:flex}.br-select{border:1px solid var(--border);background:var(--card-bg);max-width:190px;color:var(--foreground);font-family:var(--font-ui), sans-serif;font-size:var(--fs-sm,11px);border-radius:8px;padding:6px 8px}.br-tool{border:1px solid var(--border);background:var(--card-bg);width:32px;height:32px;color:var(--foreground);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:border-color .2s,color .2s;display:inline-flex}.br-tool:hover:not(:disabled),.br-tool:focus-visible:not(:disabled){border-color:var(--gold);color:var(--gold-bright)}.br-tool:disabled{opacity:.4;cursor:default}.br-zoom-label{text-align:center;min-width:44px;font-family:var(--font-ui), sans-serif;font-size:var(--fs-sm,11px);font-variant-numeric:tabular-nums;color:var(--dim)}.br-stage{flex:auto;justify-content:center;align-items:center;min-height:0;padding:clamp(8px,1.6vw,20px);display:flex;position:relative;overflow:hidden}.br-stage[data-zoomed=true]{justify-content:safe center;align-items:safe center;overflow:auto}.br-book{height:var(--page-h);perspective:2600px;filter:drop-shadow(0 18px 40px #00000073);flex:none;display:flex;position:relative}.br-page{width:var(--page-w);height:var(--page-h);background:#fff;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000024}.br-page img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.br-book[data-two-up=true] .br-page--left:after,.br-book[data-two-up=true] .br-page--right:after{content:"";pointer-events:none;width:9%;position:absolute;top:0;bottom:0}.br-book[data-two-up=true] .br-page--left:after{background:linear-gradient(90deg,#0000,#00000038);right:0}.br-book[data-two-up=true] .br-page--right:after{background:linear-gradient(270deg,#0000,#00000038);left:0}.br-page--empty{box-shadow:none;background:0 0}.br-page-pending{background:#fff;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.br-leaf{width:var(--page-w);height:var(--page-h);transform-style:preserve-3d;z-index:3;animation:.62s cubic-bezier(.42,.02,.24,1) forwards br-turn;position:absolute;top:0}.br-leaf[data-pivot=left]{transform-origin:0;left:50%}.br-leaf[data-pivot=right]{transform-origin:100%;right:50%}.br-book[data-two-up=false] .br-leaf[data-pivot=left]{left:0}.br-book[data-two-up=false] .br-leaf[data-pivot=right]{right:0}.br-leaf-face{backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.br-leaf-face--back{transform:rotateY(180deg)}.br-page--leaf{width:100%;height:100%}@keyframes br-turn{0%{transform:rotateY(var(--from))}to{transform:rotateY(var(--to))}}@media (prefers-reduced-motion:reduce){.br-leaf{animation-duration:1ms}}.br-nav{border:1px solid var(--border);background:color-mix(in srgb, var(--background) 82%, transparent);width:44px;height:76px;color:var(--foreground);cursor:pointer;z-index:4;border-radius:10px;justify-content:center;align-items:center;font-size:26px;line-height:1;transition:opacity .2s,border-color .2s,color .2s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.br-nav--left{left:clamp(4px,1.4vw,18px)}.br-nav--right{right:clamp(4px,1.4vw,18px)}.br-nav:hover:not(:disabled),.br-nav:focus-visible:not(:disabled){border-color:var(--gold);color:var(--gold-bright)}.br-nav:disabled{opacity:.25;cursor:default}.br-foot{border-top:1px solid var(--border);background:var(--background);flex:none;align-items:center;gap:clamp(10px,2vw,20px);padding:8px clamp(10px,2.5vw,22px);display:flex}.br-count{font-family:var(--font-ui), sans-serif;font-size:var(--fs-md,13px);font-variant-numeric:tabular-nums;color:var(--foreground);flex:none}.br-count-sep{color:var(--dim);margin:0 2px}.br-jump{border:1px solid var(--border);background:var(--card-bg);width:84px;color:var(--foreground);font-family:var(--font-ui), sans-serif;font-size:var(--fs-sm,11px);border-radius:8px;flex:none;padding:6px 8px}.br-scrub{min-width:0;accent-color:var(--gold);flex:auto}.br-state{color:var(--muted);font-family:var(--font-ui), sans-serif;font-size:var(--fs-md,13px);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:24px;display:flex}.br-state--error{color:var(--foreground)}.br-state-detail{max-width:46ch;color:var(--dim);font-size:var(--fs-sm,11px);overflow-wrap:anywhere}.br-state-link{color:var(--gold);border-bottom:1px solid color-mix(in srgb, var(--gold) 45%, transparent);text-decoration:none}.br-spinner{border:2px solid color-mix(in srgb, var(--gold) 30%, transparent);border-top-color:var(--gold);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite br-spin}.br-spinner--lg{border-width:3px;width:34px;height:34px}@keyframes br-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.br-spinner{animation-duration:2.4s}}@media (max-width:640px){.br-bar{gap:8px;padding:8px 10px}.br-titles{display:none}.br-nav{width:36px;height:60px;font-size:21px}.br-jump{display:none}}.epub-stage{flex:auto;justify-content:center;align-items:stretch;min-height:0;display:flex;position:relative;overflow:hidden}.epub-viewport{background:#fff;flex:auto;width:100%;max-width:820px;height:100%;box-shadow:0 0 40px #00000059}.epub-viewport iframe{border:0}
