:root{--ink:#292923;--paper:#fff;--bg:#e7e4df;--accent:#742c32}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header{height:84px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d3cfc8}.brand{font:21px Georgia,serif;letter-spacing:1.5px;text-align:center}.brand span{font-size:10px;display:block;letter-spacing:3px;margin-top:3px}.edition{font-size:10px;letter-spacing:2.5px}.edition i{display:block;text-align:center;font:italic 13px Georgia,serif;letter-spacing:0;margin-top:7px;color:#777}header button{font-size:11px;letter-spacing:1px}header button span{margin-left:14px}main{display:block}#stage{height:calc(100dvh - 190px);min-height:280px;display:flex;align-items:center;justify-content:center;padding:25px 30px 16px;perspective:2400px}#book{position:relative;display:flex;height:100%;aspect-ratio:1.4142;max-width:100%;filter:drop-shadow(0 12px 17px #3c38362a)}#book.single{aspect-ratio:.7071}.leaf{position:relative;flex:1;width:50%;height:100%;background:white;overflow:hidden}.leaf img,.face img{width:100%;height:100%;object-fit:fill;display:block}.leaf::after{content:'';position:absolute;inset:0;pointer-events:none}#left::after{background:linear-gradient(to left,#00000012,transparent 6%)}#right::after{background:linear-gradient(to right,#0000000e,transparent 5%)}#book.single #left{display:none}#book.single #right::after{background:none}#turner{position:absolute;left:50%;top:0;width:50%;height:100%;transform-style:preserve-3d;transform-origin:left;z-index:5;display:none}.face{position:absolute;inset:0;backface-visibility:hidden;background:#fff}.back{transform:rotateY(180deg)}#turner.active{display:block}#book.single #turner{left:0;width:100%}.controls{height:55px;display:flex;align-items:center;justify-content:center;gap:22px;font-size:11px}.controls button{padding:8px 4px}.controls #prev,.controls #next{font-size:25px;font-family:Georgia,serif}.controls button:disabled{opacity:.25;cursor:default}#counter{min-width:74px;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:1px}.divider{height:20px;width:1px;background:#c4c0b9}.hint{text-align:center;font-size:10px;letter-spacing:.4px;color:#7b7770;margin:2px 0 18px}#contents{position:fixed;right:0;top:0;bottom:0;width:min(390px,100%);z-index:30;background:#faf9f6;padding:36px;overflow:auto;box-shadow:-20px 0 80px #0002}.panelHead{display:flex;align-items:center;justify-content:space-between;font:26px Georgia,serif;padding-bottom:32px}.panelHead button{font:30px Arial}#chapterLinks a{display:flex;justify-content:space-between;border-bottom:1px solid #ddd9d2;padding:16px 0;font:16px Georgia,serif}#chapterLinks a span{font:10px Arial;color:#777}.panelFoot{margin-top:38px;font-size:9px;line-height:2;letter-spacing:1px;color:#777}#scrim{position:fixed;inset:0;background:#0003;z-index:20}#reading{max-width:800px;margin:40px auto;padding:60px;background:white;box-shadow:0 12px 30px #0001}#reading .eyebrow{font-size:10px;letter-spacing:2px;color:#777}#reading h1{font:44px/1.08 Georgia,serif;font-weight:400;margin:24px 0 32px}#reading p{font:19px/1.75 Georgia,serif;margin-bottom:22px}#reading img{width:100%;max-height:600px;object-fit:contain;margin:15px 0}#reading .note{font:12px/1.6 Arial;color:#777}#zoomView{position:fixed;inset:0;z-index:50;background:#d4d0c9;overflow:auto;padding:80px 15px 30px}#closeZoom{position:fixed;top:15px;right:25px;background:#fff;padding:14px 22px;z-index:55;box-shadow:0 2px 8px #0001}#zoomPages{display:flex;justify-content:center;align-items:flex-start;gap:12px;min-width:min-content}#zoomPages img{width: min(95vw,990px);height:auto;box-shadow:0 6px 25px #0002}body.text-mode #stage{display:none}body.text-mode .controls{position:sticky;bottom:0;background:#e7e4dff5;border-top:1px solid #d3cfc8}body.text-mode .hint{display:none}[hidden]{display:none!important}@media(max-width:760px){header{height:68px;padding:0 19px}.brand{font-size:17px}.brand span{font-size:8px}.edition{display:none}#stage{height:calc(100dvh - 175px);padding:18px 14px 12px}#book{aspect-ratio:.7071}#left{display:none}#right::after{background:none}.controls{gap:15px;font-size:10px;height:56px}#counter{min-width:58px}.download-label{display:none}.divider{display:none}.hint{font-size:9px}#reading{margin:15px 12px;padding:30px 23px}#reading h1{font-size:36px}#reading p{font-size:18px}.controls a{font-size:20px}#zoomPages{display:block}#zoomPages img{width:150vw;max-width:none;margin-bottom:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Burgundy surrounds the white publication pages. */
:root{--bg:#482329;--accent:#e4c7b4}
body{background:var(--bg)}
header,.controls,.hint{color:#f4eae3}
header{border-bottom-color:#765159}
.edition i,.hint{color:#d6bfc1}
.divider{background:#947078}
body.text-mode .controls{background:#482329f5;border-top-color:#765159}
#contents,#reading{color:var(--ink)}
#contents button:focus-visible,#contents a:focus-visible,#reading a:focus-visible{outline-color:#742c32}
#zoomView{background:#482329}
#closeZoom{color:#292923}
#book{perspective:2000px;isolation:isolate;filter:drop-shadow(0 15px 22px #16080b55)}
#turner{will-change:transform;box-shadow:0 0 16px #0002}
.face::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0002,transparent 18%,transparent 85%,#00000009);pointer-events:none}
.leaf{cursor:pointer}
#stage{touch-action:pan-y}
@media(prefers-reduced-motion:reduce){#turner{will-change:auto}}

/* Keep page turns on the compositor; filters flatten 3D sheets on Safari. */
#book{filter:none;box-shadow:0 14px 30px #16080b40;overflow:visible}
#turner{transform-style:preserve-3d;-webkit-transform-style:preserve-3d;box-shadow:none}
.face{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(.1px)}
.face.back{transform:rotateY(180deg) translateZ(.1px)}
.face img{backface-visibility:hidden;-webkit-backface-visibility:hidden}

/* Flexible paper stays within the reader, including on narrow screens. */
.curl-sheet{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none}
