:root{color-scheme:light;--ink:#1c213e;--cream:#f5f1e5;--gold:#d4be91}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,#viewport:focus-visible{outline:3px solid #a9550b;outline-offset:4px}.masthead{max-width:1200px;margin:auto;padding:15px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #dcd5c4}.masthead>a:last-child{font-size:14px}.brand{text-decoration:none;font-size:20px}.brand strong{font-weight:400;letter-spacing:2px}.intro{text-align:center;padding:18px 20px 12px}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:bold}h1{font:clamp(32px,4vw,48px)/1.08 Georgia,serif;margin:8px 0}.intro>p:last-child{max-width:none;white-space:nowrap;margin:8px auto 4px;color:#55586b}.reader{max-width:1160px;margin:0 auto;background:radial-gradient(circle at 50% 20%,#eee9dd,#ded6c7);border-radius:12px;padding:20px 26px 12px;box-shadow:inset 0 1px 4px #fff9}.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;max-width:950px;margin:0 auto 16px}.paging{display:flex;gap:16px;align-items:center}button{border:1px solid #b9b3a8;background:var(--cream);color:var(--ink);border-radius:6px;padding:9px 15px;min-height:44px;font:inherit;cursor:pointer}button:hover:not(:disabled){background:var(--ink);color:white}button:disabled{opacity:.35;cursor:default}#status{font-size:14px;font-variant-numeric:tabular-nums;min-width:130px;text-align:center}#viewport{overflow:auto;max-height:82vh;perspective:2200px;padding:8px 28px 24px;scrollbar-color:#a7a092 transparent}.book{position:relative;display:flex;aspect-ratio:var(--spread-ratio,1224/1009.5);max-width:1000px;margin:auto;transform-style:preserve-3d;box-shadow:0 14px 24px #1c213e26;background:linear-gradient(90deg,#eae4d7 49.5%,#bcb3a4 50%,#eae4d7 50.5%)}.book:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:18px;transform:translateX(-50%);z-index:3;pointer-events:none;background:linear-gradient(90deg,#1c213e20,transparent 48%,#1c213e18);}.book__leaf{position:relative;flex:1 1 50%;width:50%;height:100%;overflow:hidden;background:#f9f6ec}.book__leaf img,.book__turn img{display:block;width:100%;height:100%;object-fit:fill;user-select:none}.book__leaf--left{box-shadow:inset -16px 0 18px -15px #1c213e66}.book__leaf--right{box-shadow:inset 16px 0 18px -15px #1c213e66}.book__leaf.is-empty{background:transparent}.book.is-closed .book__leaf--left{visibility:hidden}.book.is-back .book__leaf--right{visibility:visible}.book__end{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10%;background:#1c213e;color:#f5f1e5}.book__end-mark{font-size:clamp(18px,2vw,30px);letter-spacing:1px}.book__end-mark strong{display:block;font:clamp(30px,3vw,48px) Georgia,serif;letter-spacing:6px;color:#d4be91}.book__end-rule{width:80px;height:1px;background:#d4be91;margin:36px 0}.book__end p{font:clamp(22px,2.8vw,42px) Georgia,serif;margin:0 0 14px}.book__end small{letter-spacing:2px;text-transform:uppercase}.book__turn{display:none;position:absolute;left:50%;top:0;width:50%;height:100%;z-index:5;transform-origin:left center;transform-style:preserve-3d;will-change:transform}.book__turn-front,.book__turn-back{position:absolute;inset:0;backface-visibility:hidden;background:#f9f6ec;overflow:hidden}.book__turn-front{box-shadow:inset 16px 0 20px -18px #1c213e80,8px 5px 18px #1c213e26}.book__turn-back{transform:rotateY(180deg);box-shadow:inset -16px 0 20px -18px #1c213e80,-8px 5px 18px #1c213e26}.book__turn-front:after,.book__turn-back:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0000 30%,#1c213e30);opacity:.45}.book__turn-back:after{background:linear-gradient(90deg,#1c213e30,#0000 70%)}.hint{text-align:center;font-size:12px;color:#55586b}.zoomed .book{width:1500px;max-width:none}.zoomed .book.is-closed{width:1100px}.book__leaf{cursor:zoom-in}.zoomed .book__leaf{cursor:zoom-out}
.pdf-links{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;padding:28px 20px 12px;font-weight:bold;font-size:14px}.edition-note{max-width:660px;text-align:center;margin:10px auto 30px;padding:0 20px;font-size:12px;color:#626375}.transcript{max-width:760px;margin:30px auto;padding:20px;border-top:1px solid #dcd5c4}.transcript summary{cursor:pointer;font-weight:bold}.transcript p{white-space:pre-line}footer{text-align:center;background:var(--ink);color:var(--cream);padding:28px 20px;margin-top:40px}footer a{margin-left:12px}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){.book__turn{transition:none!important}.mobile-turn-out,.mobile-turn-in{animation:none!important}}@media(max-width:700px){.masthead{padding:18px;align-items:flex-start}.brand{font-size:16px}.masthead>a:last-child{font-size:12px}.intro{padding-top:12px}.intro>p:last-child{white-space:normal;padding:0 8px}.reader{border-radius:0;padding:14px 8px}.toolbar{padding:0 8px}.paging{gap:8px}#status{min-width:90px;font-size:12px}#viewport{padding:4px 8px 16px;max-height:80vh}.book{aspect-ratio:var(--single-ratio,612/1009.5);max-width:480px}.book__leaf{flex-basis:100%;width:100%}.book__leaf--left{display:none}.book__leaf--right{width:100%}.book__end{display:none}.book__turn{left:0;width:100%}.book:before{display:none}.zoomed .book,.zoomed .book.is-closed{width:750px}.intro>p:last-child{font-size:14px}}

#viewport.zoomed{cursor:grab;user-select:none}#viewport.zoomed.is-dragging{cursor:grabbing;scroll-behavior:auto}#viewport.zoomed .book__leaf,#viewport.zoomed .book__leaf img{cursor:inherit}
.book.is-turning-forward .book__leaf--left{visibility:hidden}.book.is-turning-reverse .book__leaf--right{visibility:hidden}@media(max-width:700px){.book.is-turning-forward .book__leaf--left,.book.is-turning-reverse .book__leaf--right{visibility:visible}.book__leaf--right.mobile-turn-out{animation:mobileTurnOut .22s ease-in forwards}.book__leaf--right.mobile-turn-in{animation:mobileTurnIn .3s ease-out}}@keyframes mobileTurnOut{to{transform:perspective(1000px) rotateY(-35deg);opacity:.25}}@keyframes mobileTurnIn{from{transform:perspective(1000px) rotateY(30deg);opacity:.25}to{transform:perspective(1000px) rotateY(0);opacity:1}}

/* Light moves across both sides as the sheet turns. */
.book__turn--forward .book__turn-front:after,.book__turn--reverse .book__turn-back:after{animation:pageShadeNear 900ms cubic-bezier(.42,0,.58,1) both}
.book__turn--forward .book__turn-back:after,.book__turn--reverse .book__turn-front:after{animation:pageShadeFar 900ms cubic-bezier(.42,0,.58,1) both}
@keyframes pageShadeNear{0%{opacity:.1}45%{opacity:.72}100%{opacity:.18}}
@keyframes pageShadeFar{0%{opacity:.2}50%{opacity:.55}100%{opacity:.08}}
@media(prefers-reduced-motion:reduce){.book__turn-front:after,.book__turn-back:after{animation:none!important}}

.reader-actions{display:flex;gap:10px}
#flipbook-host{width:100%;max-width:1000px;margin:0 auto;min-height:220px;padding:10px 0 12px;background:#fff;box-shadow:0 12px 24px #1c213e20}
#flipbook{width:100%;height:min(76vh,825px);margin:0 auto}
#viewport.zoomed #flipbook-host{max-width:none}
#viewport.zoomed #flipbook{height:1100px}
#viewport.zoomed{cursor:grab;user-select:none}
#viewport.zoomed.is-dragging{cursor:grabbing}
@media(max-width:700px){.reader-actions{gap:5px}.reader-actions button{padding:8px 9px;font-size:12px}#flipbook-host{padding:6px 0 8px}#flipbook{height:min(74vh,700px)}#viewport.zoomed #flipbook{height:1120px}}
.reader{position:relative}#viewport{position:relative}.magazine-loading{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;min-height:220px;background:#fff;box-shadow:0 12px 24px #1c213e20;color:#1c213e;text-align:center;padding:24px}.magazine-loading__spinner{width:38px;height:38px;border:3px solid #dcd5c4;border-top-color:#1c213e;border-radius:50%;animation:magazineSpin .8s linear infinite}.magazine-loading.is-error .magazine-loading__spinner{display:none}@keyframes magazineSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.magazine-loading__spinner{animation-duration:2s}}
.page-edge{position:absolute;top:53%;z-index:12;transform:translateY(-50%);width:48px;height:56px;padding:0;border:1px solid #d4cabc;border-radius:50%;background:#fffef4ed;box-shadow:0 5px 16px #1c213e29;font-size:22px;line-height:1}.page-edge--previous{left:8px}.page-edge--next{right:8px}.page-edge:disabled{opacity:.3;box-shadow:none}.page-edge:hover:not(:disabled){background:#1c213e;color:#fff}@media(max-width:700px){.page-edge{top:57%;width:36px;height:44px;font-size:18px;background:#fffef4e8}.page-edge--previous{left:4px}.page-edge--next{right:4px}}
