*{box-sizing:border-box} :root{font-family:Arial,Helvetica,sans-serif;color:#36352f;background:#fff}body{margin:0}.symbols,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}button,a,input{-webkit-tap-highlight-color:transparent}button{border:0;background:none;color:inherit;cursor:pointer;font:inherit}button:disabled{opacity:.25;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #b78750;outline-offset:3px}button:hover{background:#f0ece7}a{color:inherit}button,a{touch-action:manipulation}.reader{height:100dvh;display:flex;flex-direction:column;overflow:hidden}header{height:57px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #e8e3dd;gap:10px;background:#fff}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand>svg{color:#8d6244;width:31px;height:31px;stroke-width:1.4}.brand strong{display:block;font-family:Georgia,serif;font-size:15px;font-weight:bold;letter-spacing:1.5px;color:#664733}.brand span{display:block;font-size:10px;color:#989187;margin-top:3px;max-width:250px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.header-actions{display:flex;gap:18px;align-items:center;flex:none}#top-count{font-size:10px;color:#928b81}.expand{display:flex;align-items:center;gap:7px;padding:8px 11px;border-radius:6px;background:#f4f0eb;color:#6b4e37;font-size:11px;font-weight:bold}.expand svg{width:15px;height:15px}main{flex:1;display:flex;min-height:0}#desk{flex:1;min-width:0;position:relative;overflow:hidden;background:#393c3d}.ambient{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 40%,#ffffff0c,transparent 70%)}#viewport{position:absolute;inset:18px 45px 30px;display:flex;align-items:center;justify-content:center;overflow:hidden}#book-host{position:relative;flex:none;transition:transform .35s ease;filter:drop-shadow(0 10px 14px #0005)}#book-root{position:relative;flex:none}.pdf-leaf{background:#fff;overflow:hidden;box-shadow:0 0 1px #0008}.pdf-leaf[data-density=hard]{background:#faf9f6}.pdf-leaf:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 3px 0 12px -8px #0008,inset -3px 0 12px -8px #0008;z-index:3}.pdf-surface{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.pdf-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.page-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:11px Arial;color:#a8a39b;background:#fff}.pdf-image:not([src]){display:none}.pdf-links{position:absolute;z-index:2;left:0;top:0;width:100%;height:100%}.pdf-links a{position:absolute;display:block}.pdf-links a:hover{background:#b8864333;outline:1px solid #a4743c}.arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:31px;height:48px;border-radius:7px;color:#ffffffb8;background:#ffffff08;display:grid;place-items:center}.arrow:hover{background:#ffffff18;color:#fff}.arrow svg{height:23px;width:23px}.prev{left:7px}.next{right:7px}#gesture-hint{position:absolute;bottom:9px;left:0;right:0;text-align:center;color:#c7c8c385;font-size:10px;pointer-events:none;letter-spacing:.2px}#status{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);color:#fff;background:#26292be8;padding:17px 24px;border-radius:8px;text-align:center;font-size:12px;max-width:90%;pointer-events:none;z-index:21}#status:empty{display:none}footer{flex:none;background:#fff;position:relative}#progress{display:block;margin:0;width:100%;height:3px;accent-color:#aa7e52;cursor:pointer;appearance:none;background:linear-gradient(to right,#a47647 var(--progress,0%),#e8e3dc var(--progress,0%));outline-offset:4px}#progress::-webkit-slider-thumb{appearance:none;width:9px;height:9px;border-radius:50%;background:#a47647;opacity:0;transition:opacity .15s}#progress:hover::-webkit-slider-thumb,#progress:focus::-webkit-slider-thumb{opacity:1}.toolbar{height:53px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;gap:12px}.toolbar button,.toolbar a{height:32px;min-width:30px;padding:0 6px;border-radius:5px;display:flex;align-items:center;justify-content:center;text-decoration:none}.toolbar button:hover,.toolbar a:hover{background:#f2ede7}.tools-start,.tools-end{display:flex;align-items:center;gap:4px}.toolbar svg{width:17px;height:17px}.page-control{display:flex;align-items:center;gap:7px;font-size:11px;color:#989085}.page-control input{font:12px Arial;text-align:center;color:#584936;width:39px;height:28px;border:1px solid #e7e0d6;border-radius:4px;background:#fdfcfb;appearance:textfield;padding:3px}.page-control input::-webkit-inner-spin-button{appearance:none}#minus,#plus{font-size:20px}#fit{font-size:10px;width:41px}.divider{height:16px;width:1px;background:#e8e2d9;margin:0 5px}#layout[aria-pressed=true]{background:#eee6da;color:#8a603c}aside{width:137px;flex:none;background:#f6f3ee;border-right:1px solid #dbd4c9;overflow:auto;scrollbar-width:thin}aside[hidden]{display:none}.side-head{display:flex;position:sticky;top:0;z-index:2;background:#f6f3ee;align-items:center;justify-content:space-between;padding:7px 10px;font-size:11px}.side-head button{display:grid;place-items:center;width:26px;height:26px;border-radius:4px}.side-head svg{width:15px;height:15px}#thumbs{padding:0 15px 15px}.thumb{width:100%;padding:6px;margin-bottom:9px;border:1px solid transparent;border-radius:6px;font-size:10px;color:#928474}.thumb img{display:block;width:100%;min-height:80px;background:#fff;margin-bottom:6px;box-shadow:0 2px 5px #0002}.thumb.active{background:#e9dfd1;border-color:#cdbb9e;color:#6d5131}#zoom-pages{flex:none;display:flex;gap:2px;padding:10px}#zoom-pages[hidden]{display:none}#zoom-pages .pdf-leaf{position:relative;flex:none;box-shadow:0 5px 20px #0005}body.zoomed #viewport{overflow:auto;align-items:flex-start;justify-content:flex-start;touch-action:pan-x pan-y;scrollbar-width:thin}body.zoomed #book-host{display:none}body.zoomed #gesture-hint{display:none}@media(prefers-reduced-motion:reduce){#book-host{transition:none}}@media(max-width:600px){header{height:51px;padding:0 11px}.brand>svg{width:25px;height:25px}.brand{gap:7px}.brand strong{font-size:13px}.brand span{font-size:9px;max-width:168px}.header-actions{gap:8px}#top-count{display:none}.expand{padding:7px 8px;font-size:10px}.toolbar{height:49px;padding:0 7px;gap:4px}.tools-start,.tools-end{gap:0}.page-label{display:none}.divider{margin:0 2px}.toolbar button,.toolbar a{min-width:26px;padding:0 4px}#layout{display:none}.page-control{gap:4px;font-size:10px}#viewport{inset:14px 28px 27px}.arrow{width:24px;height:42px}.prev{left:0}.next{right:0}.arrow svg{width:18px;height:18px}#gesture-hint{font-size:9px;bottom:8px}aside{width:105px}#thumbs{padding:0 10px 10px}}

[hidden]{display:none!important}
/* Reading and navigation controls */
main{position:relative}.header-actions{gap:8px}.icon-button{display:grid;place-items:center;width:31px;height:31px;border-radius:5px}#reading-mode{font-size:11px;padding:8px;border-radius:5px;color:#6b4e37}.expand{background:#805c3e;color:#fff;padding:10px 14px}.expand:hover{background:#67472f}.arrow{background:#171b1ec9;color:#fff;border:1px solid #ffffff45;width:35px;height:52px;box-shadow:0 2px 7px #0003}.arrow:hover{background:#111;color:#fff}.arrow:disabled{opacity:.18}#bookmark{font-size:21px;color:#946b3f}#bookmark[aria-pressed=true]{color:#926022}aside{width:260px}.panel-tabs{display:flex;padding:0 7px 8px;gap:3px;border-bottom:1px solid #e5ded3;position:sticky;top:40px;background:#f6f3ee;z-index:2}.panel-tabs button{font-size:11px;padding:8px 6px;flex:1;border-radius:5px}.panel-tabs button[aria-selected=true]{background:#e8ddce;color:#65452d}#outline,#find-panel{padding:12px;font-size:12px;line-height:1.5;color:#716454}#outline>strong,.personal-bookmarks>strong{display:block;color:#5b4532;font-size:12px;margin:0 0 9px}#outline button,.personal-bookmarks button{display:block;text-align:left;width:100%;padding:9px 8px;border-radius:5px;font-size:12px}#outline p{font-size:11px;color:#90816e}.personal-bookmarks{border-bottom:1px solid #dfd6c8;margin-bottom:15px;padding-bottom:10px}#search-form label{display:block;font-size:11px;margin-bottom:7px}.search-field{display:flex;gap:5px}.search-field input{width:100%;min-width:0;border:1px solid #cec2b1;border-radius:5px;padding:8px;font:12px Arial}.search-field button{background:#805c3e;color:white;border-radius:5px;padding:5px 8px;font-size:11px}#search-status{font-size:11px;color:#8b7e6c}.search-result{width:100%;display:block;text-align:left;padding:10px 7px;border-bottom:1px solid #e3dacf;border-radius:4px}.search-result strong{display:block;color:#6d4a2d;font-size:12px}.search-result span{display:block;font-size:11px;margin-top:5px;line-height:1.5}.search-result mark{background:#f8d18c;color:inherit}#thumbs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-top:10px}.thumb img{min-height:90px}#reading-tools{display:flex;align-items:center;gap:12px;padding:8px 14px;border-bottom:1px solid #e9e3db;min-height:44px}#fit-mode{font:11px Arial;border:1px solid #d9cfc1;border-radius:5px;background:#fff;padding:6px;color:#6b533c;max-width:145px}.tool-switch{display:flex;gap:2px;background:#f3efe9;border-radius:5px;padding:2px}.tool-switch button{font-size:11px;border-radius:4px;padding:6px 9px}.tool-switch button[aria-pressed=true]{background:#fff;color:#6d492e;box-shadow:0 1px 3px #0001}#text-status{font-size:10px;color:#92836f}body.reading #viewport{inset:15px 43px 17px}body.reading #gesture-hint{display:none}body.zoomed #viewport{scrollbar-width:thin;cursor:grab;touch-action:pan-x pan-y}body.zoomed.text-tool #viewport{cursor:auto}#viewport.panning,#viewport.panning *{cursor:grabbing!important;user-select:none!important}#zoom-pages{margin:auto;padding:8px}body.zoomed #viewport:has(#zoom-pages){scrollbar-color:#8c8275 #353839}body.reading #zoom-pages .pdf-leaf{background:#fff}body.reading #layout{display:none}#toast{position:absolute;bottom:112px;left:50%;transform:translateX(-50%);z-index:80;max-width:90%;width:max-content;pointer-events:none;padding:10px 14px;border-radius:7px;background:#f6eee1;color:#65492f;box-shadow:0 3px 15px #0003;font-size:12px;line-height:1.4}.textLayer{position:absolute;inset:0;overflow:clip;text-align:initial;line-height:1;letter-spacing:normal;word-spacing:normal;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2;pointer-events:none;--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))}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0;user-select:text}.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 ::selection{background:#f1b95699;color:transparent}.textLayer span.search-hit{background:#f3bd4670;border-radius:2px}.text-tool .textLayer{pointer-events:auto}.pdf-links{pointer-events:none;z-index:3}.pdf-links a{pointer-events:auto}body:not(.text-tool) .textLayer{user-select:none}.text-tool .pdf-leaf{user-select:text}@media(max-width:900px){aside{position:absolute;inset:0 auto 0 0;width:min(290px,calc(100% - 42px));z-index:45;box-shadow:10px 0 25px #0005}#top-count{display:none}}@media(max-width:600px){.header-actions{gap:3px}.brand span{max-width:130px}.brand strong{font-size:12px}.expand{padding:9px 10px}.expand svg{display:none}#reading-mode{padding:6px;font-size:10px}#reading-tools{padding:6px 8px;gap:6px;flex-wrap:wrap}#text-status{font-size:9px;flex-basis:100%}#fit-mode{font-size:10px;padding:5px}.tool-switch button{padding:5px 8px}body.reading #viewport{inset:10px 27px 10px}.arrow{width:25px;height:46px;border-radius:5px}#toast{font-size:11px;bottom:125px}.toolbar{gap:3px}.toolbar button{min-width:25px}#bookmark{font-size:19px}}
body.reading #zoom-pages{margin:0 auto}.arrow:before{content:'';position:absolute;inset:-4px -5px}#progress{height:14px;background:transparent;margin:0;flex:none}#progress::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,#a47647 var(--progress,0%),#e8e3dc var(--progress,0%))}#progress::-webkit-slider-thumb{opacity:1;margin-top:-3px;width:9px;height:9px}#progress::-moz-range-track{height:3px;background:#e8e3dc}#progress::-moz-range-progress{height:3px;background:#a47647}@media(max-width:600px){header{height:56px}.icon-button{height:40px;width:34px}.expand{min-height:40px}.toolbar{height:55px}.toolbar button{min-height:40px;min-width:32px}.tools-start,.tools-end{gap:0}.tool-switch button{min-height:34px}.arrow:before{inset:-4px -9px}.page-control input{height:34px}}
.thumb img{aspect-ratio:var(--page-ratio,.707);min-height:0;object-fit:contain}
#mouse-hint{font-size:10px;color:#805c3e}.mouse-tool #viewport{cursor:grab}.mouse-tool #viewport.panning{cursor:grabbing}@media(max-width:600px){#mouse-hint{flex-basis:100%;font-size:9px}.tool-switch button{padding-left:7px;padding-right:7px}}
/* Touch targets and page gestures share the existing reader design. */
#bookmark svg{width:20px;height:23px;fill:none}#bookmark[aria-pressed=true] svg{fill:currentColor}
#viewport{touch-action:pan-y}body.zoomed #viewport{touch-action:pan-y}body.touch-magnified #viewport,#viewport.touch-gesturing{touch-action:none;overscroll-behavior:contain}
body.touch-input #viewport{scrollbar-width:none}body.touch-input #viewport::-webkit-scrollbar{display:none}
#viewport.touch-gesturing .pdf-links,#viewport.touch-gesturing .textLayer{pointer-events:none}
@media(pointer:coarse){button{min-height:44px}.icon-button{width:44px;height:44px}.arrow{width:38px;height:54px}.toolbar button{min-width:44px;min-height:44px}#viewport{scrollbar-width:none}#viewport::-webkit-scrollbar{display:none}#text-status{display:none}}
@media(max-width:600px){
 header{height:56px;padding:0 9px}.brand{min-width:0;gap:6px}.brand span{max-width:105px}.header-actions{gap:2px;flex-shrink:0}.icon-button{width:42px;height:44px}.expand{min-height:44px;font-size:11px;padding:8px 10px}#reading-mode{min-height:44px;font-size:11px;padding:6px}
 .toolbar{display:grid;grid-template-columns:1fr auto;grid-template-rows:44px 44px;height:auto;padding:2px 8px max(3px,env(safe-area-inset-bottom));gap:0 8px}.tools-start{grid-column:1;grid-row:1;gap:4px}.page-control{grid-column:2;grid-row:1;justify-content:flex-end;gap:6px;font-size:11px}.page-control input{height:38px;width:44px;font-size:14px}.tools-end{grid-column:1/-1;grid-row:2;justify-content:space-between;width:100%;border-top:1px solid #eee7df}.toolbar button{min-width:44px;min-height:44px}#fit{width:65px;font-size:12px}.toolbar svg{width:20px;height:20px}.tools-end .divider{margin-left:auto;margin-right:auto}#minus,#plus{font-size:24px}
 #progress{height:24px}#progress::-webkit-slider-thumb{height:15px;width:15px;margin-top:-6px}#progress::-moz-range-thumb{height:15px;width:15px;border:0;background:#a47647}
 #viewport,body.reading #viewport{inset:10px 10px 26px}.arrow{width:36px;height:52px;background:#171b1e9c}.arrow:before{inset:-4px}.prev{left:0}.next{right:0}#gesture-hint{font-size:10px;bottom:6px;color:#d6d1c6}
 #reading-tools{padding:5px 8px;gap:5px;min-height:42px}#fit-mode{font-size:11px;min-height:34px;max-width:145px}.tool-switch button{min-height:34px;padding:5px 8px}#text-status{display:none}#mouse-hint{font-size:10px;margin-top:1px}#toast{bottom:150px}
}
@media(max-width:380px){.brand>svg{display:none}.brand strong{font-size:11px}.brand span{max-width:85px}.expand{padding:8px}#reading-mode{font-size:10px}.icon-button{width:38px}}
@media(max-height:480px) and (max-width:1000px){header{height:45px}.brand span{display:none}.toolbar{display:flex;height:46px;padding:0 8px;gap:6px}.tools-end{border:0;width:auto;gap:2px}.page-control{margin:auto}.toolbar button{min-width:38px;min-height:42px}.tools-start{gap:2px}#fit{width:48px}#reading-tools{min-height:38px;padding:2px 8px;flex-wrap:nowrap}#mouse-hint{display:none}#text-status{display:none}#progress{height:20px}#viewport,body.reading #viewport{inset:6px 10px 10px}#gesture-hint{display:none}}
@media(max-width:600px){.page-control input,.search-field input{font-size:16px}#fit-mode{font-size:16px;max-width:175px}.tool-switch button{min-height:44px}.side-head{height:52px;padding:4px 8px}.side-head button{width:44px;height:44px}.panel-tabs{top:52px}.panel-tabs button,.search-field button{min-height:44px}}
.tools-end:has(#download[hidden]) .divider{display:none}
@media(max-width:600px){#viewport{scrollbar-width:none}#viewport::-webkit-scrollbar{display:none}.page-control input{height:44px}}
@media(max-width:600px),(pointer:coarse){body.zoomed #viewport,#viewport{scrollbar-width:none}body.zoomed #viewport::-webkit-scrollbar{display:none}}
/* Keep the preview label readable, including the narrow phone header. */
@media(max-width:600px){.brand span{max-width:none;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2}.brand>div{min-width:0}.brand{flex:1}.header-actions{gap:0}header{gap:5px}}
@media(max-height:480px) and (max-width:1000px){.brand span{display:block;max-width:none;white-space:normal;overflow:visible;text-overflow:clip}}
/* The document itself stays fixed; only the magnified page and navigation scroll. */
html,body{width:100%;height:100%;overflow:hidden}
@media(max-width:600px){#gesture-hint{display:none}}
