.bookview-inline{--bookview-accent:#c8a24a;--bookview-reader-bg:#171818;--bookview-surface:#262725;--bookview-surface-hover:#343531;--bookview-text:#f5f3ed;--bookview-muted:#aaa79f;--bookview-border:#464640;--bookview-radius:2px;--bookview-shadow:0 1.5rem 4rem rgba(0,0,0,.38);--bookview-viewer-bg:var(--bookview-reader-bg);--bookview-viewer-fg:var(--bookview-text);--bookview-viewer-control:var(--bookview-surface);display:block;max-width:100%;margin-block:1rem;font-family:inherit}
.bookview-inline *{box-sizing:border-box}
.bookview-inline{width:100%;min-width:0;max-width:100%!important;overflow:hidden}
.bookview-viewer{display:grid;grid-template-rows:auto minmax(18rem,70vh);min-height:22rem;max-width:100%;overflow:hidden;background:var(--bookview-viewer-bg);color:var(--bookview-viewer-fg);border-radius:2px}
.bookview-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.6rem;padding:.65rem;background:#1d1f22}
.bookview-toolbar-navigation,.bookview-toolbar-view{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem}
.bookview-toolbar button,.bookview-toolbar input{min-height:2.75rem;border:1px solid #73787f;border-radius:.25rem;background:var(--bookview-viewer-control);color:var(--bookview-viewer-fg);font:inherit}
.bookview-toolbar button{padding:.45rem .85rem;cursor:pointer}
.bookview-toolbar-view button{padding:.4rem .65rem}
.bookview-toolbar [data-role=zoom]{min-width:4.5rem;text-align:center;font-size:.9rem}
.bookview-reader-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}
.bookview-panel-open .bookview-reader-body{grid-template-columns:18rem minmax(0,1fr)}
.bookview-side-panel{min-width:0;min-height:0;overflow:hidden;background:#f7f7f7;color:#202124;border-right:1px solid #999}
.bookview-side-panel[hidden]{display:none}
.bookview-side-panel header{display:flex;align-items:center;justify-content:space-between;padding:.55rem .65rem;border-bottom:1px solid #bbb}
.bookview-side-panel button,.bookview-side-panel a{font:inherit}
.bookview-side-panel header button{min-height:2.75rem}
.bookview-thumbnail-list,.bookview-contents-list{height:calc(100% - 3.85rem);overflow:auto;padding:.6rem}
.bookview-thumbnail-list[hidden],.bookview-contents-list[hidden]{display:none}
.bookview-thumbnail{display:grid;grid-template-columns:6rem 1fr;align-items:center;gap:.6rem;width:100%;min-height:7rem;margin:0 0 .6rem;padding:.45rem;border:2px solid transparent;background:#fff;color:#222;text-align:left;cursor:pointer}
.bookview-thumbnail-preview{display:flex;align-items:center;justify-content:center;width:6rem;min-height:6rem;background:#ddd}
.bookview-thumbnail-preview canvas{display:block;max-width:100%;height:auto}
.bookview-thumbnail-active{border-color:#2271b1;background:#eaf4ff}
.bookview-thumbnail:focus-visible,.bookview-contents-list button:focus-visible,.bookview-contents-list a:focus-visible,.bookview-side-panel header button:focus-visible{outline:3px solid #2271b1;outline-offset:2px}
.bookview-contents-list ul{margin:.25rem 0;padding-left:1.1rem;list-style:disc}
.bookview-contents-list li{margin:.25rem 0}
.bookview-contents-list button,.bookview-contents-list a{display:inline-block;padding:.35rem;border:0;background:transparent;color:#174f7a;text-align:left;text-decoration:underline;cursor:pointer}
.bookview-toolbar button:disabled{cursor:not-allowed;opacity:.45}
.bookview-toolbar input{width:4.5rem;padding:.35rem;text-align:center}
.bookview-toolbar button:focus-visible,.bookview-toolbar input:focus-visible,.bookview-stage:focus-visible{outline:3px solid #fff;outline-offset:2px}
.bookview-stage{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden;padding:1rem;background:var(--bookview-viewer-bg);perspective:1400px;touch-action:pan-y}
.bookview-inline.bookview-manual-zoom .bookview-stage,.bookview-inline.bookview-fit-width .bookview-stage{display:block;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.bookview-inline.bookview-manual-zoom .bookview-stage{touch-action:none}
.bookview-inline.bookview-manual-zoom .bookview-spread,.bookview-inline.bookview-fit-width .bookview-spread{width:max-content;min-width:100%;height:max-content;min-height:100%;margin:0 auto;padding:.25rem;box-sizing:border-box}
.bookview-inline.bookview-manual-zoom .bookview-page-canvas,.bookview-inline.bookview-fit-width .bookview-page-canvas{max-height:none}
.bookview-inline.bookview-manual-zoom .bookview-page-canvas{max-width:none}
.bookview-page-canvas{display:block;max-width:100%;max-height:100%;background:#fff;box-shadow:0 .25rem 1rem rgba(0,0,0,.35)}
.bookview-spread{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;height:100%;min-width:0}
.bookview-spread-single{justify-content:center}
.bookview-page{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;max-width:100%;max-height:100%;filter:drop-shadow(0 .35rem .75rem rgba(0,0,0,.28))}
.bookview-annotation-layer{position:absolute;inset:0;z-index:3;pointer-events:none}
.bookview-annotation-link{position:absolute;display:block;pointer-events:auto;border:1px solid transparent;background:rgba(30,120,220,.03)}
.bookview-annotation-link:hover{border-color:rgba(30,120,220,.55);background:rgba(30,120,220,.12)}
.bookview-annotation-link:focus-visible{outline:3px solid #1675c1;outline-offset:1px;background:rgba(30,120,220,.16)}
.bookview-spread-double .bookview-page-left{justify-content:flex-end}
.bookview-spread-double .bookview-page-right{justify-content:flex-start}
.bookview-spread-double::after{content:"";position:absolute;width:1px;height:72%;background:linear-gradient(transparent,rgba(0,0,0,.42),transparent);box-shadow:0 0 .45rem rgba(0,0,0,.35)}
.bookview-spread--incoming,.bookview-spread--outgoing{position:absolute;inset:0;padding:inherit;will-change:transform,opacity;transform-style:preserve-3d}
.bookview-spread--outgoing{z-index:2}
.bookview-spread--incoming{z-index:1}
.bookview-spread--dragging{transform:translate3d(var(--bookview-drag-x,0),0,0) rotateY(var(--bookview-drag-rotate,0));filter:drop-shadow(calc(var(--bookview-turn-shadow,0) * 1rem) .4rem 1rem rgba(0,0,0,var(--bookview-turn-shadow,0)));will-change:transform,filter}
@media(prefers-reduced-motion:reduce){.bookview-spread{animation:none!important;transition:none!important}}
.bookview-page-status{position:absolute;inset:50% auto auto 50%;margin:0;transform:translate(-50%,-50%);color:var(--bookview-viewer-fg)}
.bookview-viewer-error{margin:0;padding:1rem;background:#fff1f1;color:#7a1111;text-align:center}
.bookview-fallback{margin:.5rem 0 0}
.bookview-inline.bookview-has-viewer>.bookview-fallback{display:none}
.bookview-unavailable{padding:.8rem;border-left:.25rem solid #b32d2e;background:#fff1f1;color:#5f1010}
@media(max-width:480px){.bookview-viewer{grid-template-rows:auto minmax(16rem,65vh)}.bookview-toolbar{gap:.4rem;padding:.5rem}.bookview-toolbar button{padding:.4rem .65rem}.bookview-stage{padding:.5rem}.bookview-toolbar [data-role=range]{min-width:2.5rem;text-align:center}}
@media(max-width:600px){.bookview-toolbar-view{width:100%;gap:.35rem}.bookview-toolbar-view button{min-width:2.75rem;padding:.35rem .5rem}.bookview-toolbar-view [data-action="fit-page"],.bookview-toolbar-view [data-action="fit-width"]{font-size:.78rem}}
@media(max-width:800px){.bookview-panel-open .bookview-reader-body{grid-template-columns:minmax(0,1fr)}.bookview-side-panel{position:absolute;z-index:8;inset:0 auto 0 0;width:min(85%,20rem);box-shadow:.5rem 0 1.5rem rgba(0,0,0,.35)}.bookview-side-panel header button{min-width:4.5rem}}
.bookview-viewer:fullscreen{width:100vw;height:100vh;grid-template-rows:auto minmax(0,1fr);border-radius:0}
.bookview-lightbox[hidden]{display:none}
.bookview-lightbox{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:clamp(.5rem,2vw,1.5rem);box-sizing:border-box}
.bookview-lightbox *{box-sizing:border-box}
.bookview-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78)}
.bookview-lightbox-dialog{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(96rem,100%);height:min(92dvh,64rem);max-width:100%;overflow:hidden;border-radius:.5rem;background:#1d1f22;color:#fff;box-shadow:0 1rem 4rem rgba(0,0,0,.5)}
.bookview-lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1rem;background:#111315}
.bookview-lightbox-header h2{margin:0;color:inherit;font-size:1.1rem;line-height:1.3}
.bookview-lightbox-close{min-width:4.75rem;min-height:2.75rem;padding:.45rem .8rem;border:2px solid #fff;border-radius:.25rem;background:#fff;color:#111;font:inherit;font-weight:700;cursor:pointer}
.bookview-lightbox-close:focus-visible{outline:3px solid #ffd54f;outline-offset:3px}
.bookview-lightbox-content{min-width:0;min-height:0;overflow:hidden}
.bookview-lightbox-viewer{height:100%;margin:0}
.bookview-lightbox-viewer .bookview-viewer{height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr);border-radius:0}
.bookview-lightbox-viewer>.bookview-fallback{position:absolute;right:1rem;bottom:.5rem;z-index:1;margin:0;padding:.3rem .5rem;background:#fff;color:#111;border-radius:.25rem}
@media(max-width:600px){.bookview-lightbox{padding:0}.bookview-lightbox-dialog{width:100%;height:100dvh;border-radius:0}.bookview-lightbox-header{padding:.5rem .65rem}.bookview-lightbox-header h2{font-size:1rem}.bookview-lightbox-viewer .bookview-toolbar{padding:.4rem}.bookview-lightbox-viewer .bookview-stage{padding:.35rem}}

/* Phase 2UI presentation layer. All rules remain scoped to BookView. */
.bookview-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.bookview-viewer{position:relative;border:1px solid #30312f;border-radius:var(--bookview-radius);background:var(--bookview-reader-bg);box-shadow:var(--bookview-shadow)}
.bookview-toolbar{position:relative;justify-content:space-between;gap:.55rem;padding:.48rem .65rem;border-bottom:1px solid var(--bookview-border);background:linear-gradient(180deg,#242522,#1d1e1c)}
.bookview-toolbar-navigation,.bookview-toolbar-view{flex-wrap:nowrap;gap:.25rem}
.bookview-toolbar button,.bookview-toolbar input,.bookview-view-menu summary{min-width:2.6rem;min-height:2.6rem;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--bookview-text);font:inherit}
.bookview-toolbar button,.bookview-view-menu summary{display:grid;place-items:center;padding:.48rem;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease}
.bookview-toolbar button:hover,.bookview-view-menu summary:hover,.bookview-view-menu[open] summary{border-color:var(--bookview-border);background:var(--bookview-surface-hover);color:var(--bookview-accent)}
.bookview-toolbar button[aria-pressed=true]{background:color-mix(in srgb,var(--bookview-accent) 18%,var(--bookview-surface));color:var(--bookview-accent)}
.bookview-toolbar button:disabled{opacity:.28}
.bookview-toolbar svg,.bookview-lightbox-close svg,.bookview-side-panel header svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bookview-page-jump{order:2}
.bookview-page-jump input{width:3rem;min-width:3rem;padding:.35rem .2rem;border-color:var(--bookview-border);background:#121311;text-align:center;-moz-appearance:textfield}
.bookview-page-jump input::-webkit-inner-spin-button{display:none}
.bookview-page-count{order:3;min-width:5.25rem;color:var(--bookview-text);font-size:.86rem;font-variant-numeric:tabular-nums;text-align:center}
.bookview-toolbar-navigation [data-action=previous]{order:1}.bookview-toolbar-navigation [data-action=next]{order:4}
.bookview-toolbar [data-role=zoom]{min-width:3.9rem;color:var(--bookview-muted);font-size:.78rem}
.bookview-view-menu{position:relative}
.bookview-view-menu summary{list-style:none}.bookview-view-menu summary::-webkit-details-marker{display:none}
.bookview-view-menu>div{position:absolute;z-index:20;right:0;top:calc(100% + .45rem);display:grid;min-width:10rem;padding:.35rem;border:1px solid var(--bookview-border);border-radius:var(--bookview-radius);background:#242522;box-shadow:0 .75rem 2rem rgba(0,0,0,.4)}
.bookview-view-menu>div button{display:block;width:100%;min-height:2.35rem;padding:.5rem .65rem;text-align:left}
.bookview-stage{padding:clamp(.75rem,2vw,1.75rem);background:radial-gradient(circle at 50% 42%,#30312f 0,#20211f 48%,#151614 100%)}
.bookview-page-canvas{box-shadow:0 .9rem 2.5rem rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.08)}
.bookview-page{filter:none}
.bookview-spread{gap:.35rem;filter:drop-shadow(0 .9rem 1.7rem rgba(0,0,0,.3))}
.bookview-spread-double::after{width:10px;height:94%;background:linear-gradient(90deg,transparent,rgba(0,0,0,.32),rgba(255,255,255,.06),transparent);box-shadow:none}
.bookview-side-panel{border-color:var(--bookview-border);background:#20211f;color:var(--bookview-text);box-shadow:.7rem 0 2rem rgba(0,0,0,.24)}
.bookview-side-panel header{padding:.55rem .75rem;border-color:var(--bookview-border);background:#191a18}
.bookview-side-panel header strong{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.bookview-side-panel header button{display:grid;min-width:2.75rem;min-height:2.75rem;place-items:center;border:0;border-radius:.35rem;background:transparent;color:var(--bookview-muted)}
.bookview-side-panel header button:hover{background:var(--bookview-surface-hover);color:var(--bookview-accent)}
.bookview-thumbnail-list,.bookview-contents-list{padding:.8rem}
.bookview-thumbnail{grid-template-columns:4.6rem 1fr;min-height:6.8rem;margin-bottom:.55rem;padding:.5rem;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--bookview-muted)}
.bookview-thumbnail:hover{background:var(--bookview-surface-hover);color:var(--bookview-text)}
.bookview-thumbnail-preview{width:4.6rem;min-height:6.1rem;overflow:hidden;border-radius:.18rem;background:#30312e;box-shadow:0 .3rem .8rem rgba(0,0,0,.35)}
.bookview-thumbnail-active{border-color:color-mix(in srgb,var(--bookview-accent) 58%,transparent);background:color-mix(in srgb,var(--bookview-accent) 12%,transparent);color:var(--bookview-text)}
.bookview-thumbnail-active::after{content:"Current";color:var(--bookview-accent);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
.bookview-thumbnail:focus-visible,.bookview-contents-list button:focus-visible,.bookview-contents-list a:focus-visible,.bookview-side-panel header button:focus-visible{outline-color:var(--bookview-accent)}
.bookview-contents-list ul{padding-left:1rem;list-style:none;border-left:1px solid var(--bookview-border)}
.bookview-contents-list>ul{padding-left:0;border-left:0}
.bookview-contents-list li{margin:.15rem 0}
.bookview-contents-list button,.bookview-contents-list a{width:100%;padding:.55rem .6rem;border-radius:.3rem;color:var(--bookview-muted);text-decoration:none}
.bookview-contents-list button:hover,.bookview-contents-list a:hover{background:var(--bookview-surface-hover);color:var(--bookview-text)}
.bookview-page-status{display:flex;align-items:center;gap:.65rem;color:var(--bookview-muted);font-size:.88rem}
.bookview-spinner{width:1rem;height:1rem;border:2px solid var(--bookview-border);border-top-color:var(--bookview-accent);border-radius:50%;animation:bookview-spin .75s linear infinite}
@keyframes bookview-spin{to{transform:rotate(360deg)}}
.bookview-viewer-error{position:absolute;z-index:5;inset:50% auto auto 50%;width:min(25rem,calc(100% - 2rem));padding:1rem 1.15rem;transform:translate(-50%,-50%);border:1px solid #695345;border-radius:var(--bookview-radius);background:#28231f;color:#f0ddd1;box-shadow:var(--bookview-shadow);font-size:.9rem;text-align:left}
.bookview-unavailable{padding:.9rem 1rem;border:1px solid #d8c7bd;border-left:3px solid #9c6545;border-radius:var(--bookview-radius);background:#f7f2ee;color:#513b30}
.bookview-lightbox{--bookview-accent:#c8a24a;--bookview-border:#464640;--bookview-radius:2px;--bookview-text:#f5f3ed;padding:clamp(.35rem,1.4vw,1rem)}
.bookview-lightbox-backdrop{background:rgba(8,9,8,.88);backdrop-filter:blur(7px)}
.bookview-lightbox-dialog{width:min(104rem,100%);height:min(96dvh,68rem);border:1px solid #3b3c38;border-radius:3px;background:#181917;box-shadow:0 2rem 7rem rgba(0,0,0,.65)}
.bookview-lightbox-header{min-height:3.15rem;padding:.4rem .7rem .4rem 1rem;border-bottom:1px solid var(--bookview-border);background:#171816}
.bookview-lightbox-header h2{overflow:hidden;color:#eeeae0;font-size:.95rem;font-weight:650;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}
.bookview-lightbox-close{display:grid;min-width:2.65rem;width:2.65rem;min-height:2.65rem;padding:.45rem;place-items:center;border:1px solid transparent;border-radius:3px;background:transparent;color:#bbb7ae}
.bookview-lightbox-close:hover{border-color:#464640;background:#2b2c29;color:var(--bookview-accent)}
.bookview-lightbox-close:focus-visible{outline-color:var(--bookview-accent)}
.bookview-lightbox-viewer>.bookview-fallback{border-radius:.3rem;background:#262725;color:var(--bookview-text);font-size:.75rem}
@media(max-width:760px){.bookview-viewer{grid-template-rows:auto minmax(16rem,1fr)}.bookview-toolbar{display:grid;grid-template-columns:1fr auto;padding:.35rem}.bookview-toolbar-navigation{justify-content:start}.bookview-toolbar-view{justify-content:end}.bookview-toolbar [data-role=zoom]{display:none}.bookview-page-jump input{width:2.65rem;min-width:2.65rem}.bookview-page-count{min-width:4.4rem;font-size:.78rem}.bookview-toolbar button,.bookview-view-menu summary{min-width:2.75rem;min-height:2.75rem;padding:.45rem}.bookview-stage{padding:.4rem}.bookview-side-panel{width:min(88%,19rem);transition:transform .2s ease}}
@media(max-width:430px){.bookview-toolbar{grid-template-columns:1fr}.bookview-toolbar-navigation,.bookview-toolbar-view{justify-content:center}.bookview-toolbar-view{border-top:1px solid var(--bookview-border);padding-top:.25rem}.bookview-view-menu>div{right:-3rem}.bookview-lightbox-header{min-height:3rem}.bookview-lightbox-dialog{height:100dvh}}
@media(max-width:350px){.bookview-page-count{min-width:3.9rem}.bookview-toolbar-navigation,.bookview-toolbar-view{gap:.08rem}}
@media(prefers-reduced-motion:reduce){.bookview-spinner{animation:none}.bookview-toolbar button,.bookview-view-menu summary,.bookview-side-panel{transition:none}}
.bookview-download{display:grid;min-width:2.6rem;min-height:2.6rem;padding:.48rem;place-items:center;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--bookview-text);text-decoration:none;transition:background-color .16s ease,color .16s ease,border-color .16s ease}
.bookview-download:hover{border-color:var(--bookview-border);background:var(--bookview-surface-hover);color:var(--bookview-accent)}
.bookview-download:focus-visible{outline:3px solid #fff;outline-offset:2px}
.bookview-download svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bookview-reader-body,.bookview-stage,.bookview-spread,.bookview-page{min-width:0;max-width:100%}
.bookview-inline.bookview-manual-zoom .bookview-spread,.bookview-inline.bookview-fit-width .bookview-spread{max-width:none}
