:root{color-scheme:light;--paper:#f8f6f1;--ink:#25221e;--muted:#716a61;--line:#d7d0c6;--accent:#9b7953;--shadow:0 28px 78px rgba(31,27,21,.24);font-family:Arial,Helvetica,sans-serif;background:#e6e1d9;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;}body{min-height:100svh;background:radial-gradient(ellipse at 50% 44%,#f5f2ec 0,#e2ddd5 74%)}button,a{font:inherit}.shell{min-height:100svh;display:flex;flex-direction:column;padding:0 clamp(15px,4vw,58px)}.header{height:70px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(74,65,54,.17);color:#39342e}.brand{color:inherit;text-decoration:none;font:500 19px/.82 Georgia,"Times New Roman",serif;letter-spacing:.035em}.brand span{display:block;margin-top:6px;font:500 8px/1 Arial,sans-serif;letter-spacing:.24em}.edition,.contents-button,.hint,.fullscreen{font-size:9px;letter-spacing:.13em;font-weight:500}.edition{color:#615a51}.edition i{font-style:normal;color:var(--accent);margin:0 7px}.contents-button,.fullscreen{border:0;background:none;color:#39342e;cursor:pointer;letter-spacing:.1em}.contents-button{padding:10px 0}.contents-button span{font-size:14px;margin-left:5px;color:var(--accent)}.reader{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;padding:12px 0}.book-frame{position:relative;width:min(1180px,calc(100vw - 145px));height:min(76svh,920px);display:flex;align-items:center;justify-content:center}.book{width:100%;height:100%;margin:auto}.page{background:var(--paper);overflow:hidden;position:relative;touch-action:pan-y}.page img{width:100%;height:100%;display:block;object-fit:fill;user-select:none;-webkit-user-drag:none}.text-hotspot-layer,.pdf-link-layer{position:absolute;inset:0}.text-hotspot-layer{z-index:2;pointer-events:none}.pdf-link-layer{z-index:3;pointer-events:none}.text-hotspot{position:absolute;margin:0;padding:0;border:0;background:transparent;color:transparent;pointer-events:auto;cursor:zoom-in;touch-action:manipulation;-webkit-tap-highlight-color:rgba(155,121,83,.12)}.text-hotspot:focus-visible,.pdf-link-layer a:focus-visible,.pdf-link-layer button:focus-visible{outline:2px solid #987448;outline-offset:1px;background:rgba(255,255,255,.14)}.pdf-link-layer a,.pdf-link-layer button{position:absolute;display:block;margin:0;padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer;text-decoration:none;color:transparent}.pdf-link-layer a:hover,.pdf-link-layer button:hover{background:rgba(255,255,255,.025)}.turn-button{position:absolute;z-index:6;top:50%;transform:translateY(-50%);height:42px;width:42px;border:1px solid rgba(74,65,54,.3);border-radius:50%;background:rgba(250,248,243,.9);color:#4c443a;font:32px/1 Georgia,serif;cursor:pointer;display:grid;place-items:center;box-shadow:0 5px 18px rgba(35,29,22,.09)}.turn-button:disabled{opacity:.3;cursor:default}.previous{left:max(0px,calc((100vw - 1300px)/2))}.next{right:max(0px,calc((100vw - 1300px)/2))}.footer{flex:none;padding:0 0 max(12px,env(safe-area-inset-bottom));color:#4e473e}.progress-track{height:2px;background:rgba(82,71,57,.17);width:100%}.progress-track span{height:100%;display:block;width:0;background:#987448;transition:width .22s ease}.footer-row{height:43px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.hint{font-size:8px;letter-spacing:.1em;color:#756b5e}.counter{display:flex;gap:7px;align-items:center;font:14px Georgia,"Times New Roman",serif;color:#3c352d}.counter span:nth-child(2){color:#a69a89}.footer-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px}.fullscreen{font-size:8px;color:#5e554a}.fullscreen span{font-size:14px;margin-left:4px;color:var(--accent)}.loading{position:absolute;z-index:8;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:rgba(248,246,241,.97);color:#605344;font-size:12px;letter-spacing:.035em}.loading[hidden]{display:none}.spinner{height:25px;width:25px;border:1px solid rgba(96,74,55,.2);border-top-color:#806044;border-radius:50%;animation:spin .8s linear infinite}.loading-track{width:min(250px,65%);height:2px;background:#ded8ce}.loading-track span{display:block;height:100%;width:0;background:#886746;transition:width .16s}.error{position:absolute;z-index:9;inset:10%;padding:28px;background:var(--paper);font:15px/1.5 Arial,sans-serif;color:#843b32;box-shadow:var(--shadow)}.overlay{position:fixed;inset:0;z-index:20;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(34,30,25,.45);backdrop-filter:blur(5px)}.overlay.open{display:flex}.dialog{position:relative;width:min(650px,96vw);max-height:min(88svh,850px);overflow:auto;padding:clamp(30px,5vw,58px);background:var(--paper);box-shadow:0 25px 75px rgba(0,0,0,.25);overscroll-behavior:contain}.close{position:absolute;right:16px;top:10px;border:0;background:none;color:#4f4538;font:32px/1 Georgia,"Times New Roman",serif;cursor:pointer}.kicker{margin:0;font-size:8px;letter-spacing:.17em;color:#8a7b69;text-transform:uppercase}.contents-panel h1{margin:12px 0 7px;font:400 clamp(42px,7vw,64px)/.92 Georgia,"Times New Roman",serif;color:#25221e}.contents-help{margin:0 0 22px;font:13px/1.5 Arial,sans-serif;color:#71695f}.page-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.page-list button{min-width:0;border:0;border-top:1px solid rgba(123,99,76,.2);background:none;padding:10px 0;text-align:left;display:flex;gap:12px;align-items:baseline;color:var(--ink);font:15px Georgia,"Times New Roman",serif;cursor:pointer}.page-list button:hover{color:#876a49;font-style:italic}.page-list button span{min-width:22px;font:8px Arial,sans-serif;color:#9a8065}.text-content{margin-top:22px}.text-content p{margin:0;color:#27231e;font:clamp(21px,3.1vw,30px)/1.42 Georgia,"Times New Roman",serif;white-space:pre-wrap;overflow-wrap:anywhere}.text-content p.small{font:clamp(20px,3vw,27px)/1.5 Arial,sans-serif}.text-content p.display{font:clamp(34px,6vw,52px)/1.1 Georgia,"Times New Roman",serif}.book .stf__parent{margin:auto}.book .stf__block{box-shadow:var(--shadow)}.book .stf__item{overflow:hidden}.book .stf__hard{background:var(--paper)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){body{background:#e0dbd3}.shell{padding:0 12px}.header{height:56px;gap:8px}.brand{font-size:15px;letter-spacing:.01em}.brand span{font-size:7px;margin-top:5px}.edition{font-size:6px;letter-spacing:.07em;white-space:nowrap}.edition i{margin:0 3px}.contents-button{font-size:7px;padding:5px 0;letter-spacing:.06em;white-space:nowrap}.reader{padding:8px 0}.book-frame{width:min(91vw,500px);height:min(72svh,700px)}.turn-button{height:34px;width:34px;font-size:27px;background:rgba(249,246,239,.94)}.previous{left:-7px}.next{right:-7px}.footer-row{grid-template-columns:1fr auto;height:40px}.hint{grid-column:1/-1;grid-row:1;text-align:center;font-size:6px;letter-spacing:.06em}.counter{grid-column:1;grid-row:2;font-size:12px}.footer-actions{grid-column:2;grid-row:2;gap:8px}.fullscreen{font-size:7px;letter-spacing:.07em}.overlay{padding:12px}.dialog{max-height:90svh;padding:35px 23px 25px}.page-list{grid-template-columns:1fr;gap:0}.page-list button{padding:8px 0;font-size:14px}.contents-help{font-size:12px}}@media(max-height:620px) and (max-width:760px){.header{height:48px}.reader{padding:3px 0}.book-frame{height:68svh}.footer-row{height:34px}.hint{font-size:5px}.counter{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Page zoom stays inside the reading frame, leaving the outer turn controls in place. */
.book.stf__parent{touch-action:none!important;transform-origin:top left;will-change:transform}
.book-frame.zoom-active{overflow:hidden;touch-action:none;overscroll-behavior:contain}
.zoom-controls{display:flex;align-items:center;gap:3px;border:1px solid rgba(74,65,54,.18);border-radius:18px;padding:2px;background:rgba(250,248,243,.56)}
.zoom-control,.zoom-level{height:27px;border:0;border-radius:14px;background:transparent;color:#4c443a;cursor:pointer;display:grid;place-items:center}
.zoom-control{width:27px;font:20px/1 Georgia,"Times New Roman",serif}
.zoom-level{min-width:43px;padding:0 4px;font:8px/1 Arial,sans-serif;letter-spacing:.04em;color:#756b5e}
.zoom-control:hover,.zoom-level:hover{background:rgba(155,121,83,.12)}
.zoom-control:disabled{opacity:.35;cursor:default}
.zoom-controls button:focus-visible{outline:2px solid #987448;outline-offset:1px}
.book-frame.zoom-active{cursor:grab}
.book-frame.zoom-active.is-gesture{cursor:grabbing}
.book-frame.zoom-active.is-gesture .book{transition:none}
@media(max-width:760px){.footer-actions{gap:7px}.zoom-controls{gap:1px;padding:1px}.zoom-control{width:25px;height:25px;font-size:18px}.zoom-level{min-width:39px;height:25px;font-size:7px}.fullscreen{font-size:6px;letter-spacing:.05em}}
