:root{color-scheme:light;--paper:#f6f3ec;--ground:#fafaf8;--ink:#364039;--line:#cfcec7}*{box-sizing:border-box}html,body{margin:0;height:100%;font:13px system-ui,sans-serif;color:var(--ink);background:var(--ground)}button,select,a{ -webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button,.tools a{border:1px solid var(--line);background:#f8f7f3;border-radius:7px;padding:0 12px;min-height:42px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;color:inherit}button:hover,.tools a:hover{background:#fff}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #73876b;outline-offset:3px}#reader{height:100%;height:100dvh;display:flex;flex-direction:column}#stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px 62px 20px;position:relative;perspective:2200px;overflow:hidden}#book{display:flex;position:relative;isolation:isolate;touch-action:pan-y;box-shadow:0 14px 40px #31372d23}.page{position:relative;flex-shrink:0;background:var(--paper);overflow:hidden}.page+.page{border-left:1px solid #0002}.page canvas{display:block;width:100%;height:100%}.page:empty::after{content:'Opening page…';position:absolute;inset:0;display:grid;place-items:center;font:13px system-ui,sans-serif}.page-link{position:absolute;display:block;z-index:2}.page-link:hover{background:#4c70551a;outline:1px solid #4c705566}.edge{position:absolute;top:50%;transform:translateY(-50%);width:38px;padding:0;font-size:25px;background:#f8f7f399;z-index:4}#previous{left:12px}#next{right:12px}#toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 22px max(16px,env(safe-area-inset-bottom))}#brand{justify-self:start;display:flex;align-items:center;text-decoration:none;color:inherit;font:12px Georgia,serif;letter-spacing:1.4px;max-width:210px}#brand img{max-width:160px;max-height:34px;object-fit:contain}#pagination{display:flex;gap:9px;align-items:center;white-space:nowrap;font-size:12px}select{background:#f8f7f3;border:1px solid var(--line);border-radius:6px;padding:10px;max-width:115px}.tools{display:flex;gap:6px;justify-content:flex-end}.tools button,.tools a{font-size:11px;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:pre-wrap}#loading{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:var(--ground);font:18px Georgia,serif}#loading.error{padding:40px;text-align:center}#message{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#29382e;color:white;border-radius:8px;padding:10px 14px;z-index:30;max-width:90vw}#message:empty{display:none}.turn-sheet{position:absolute;top:0;height:100%;z-index:5;transform-style:preserve-3d;transform-origin:left center;pointer-events:none;will-change:transform}.turn-sheet.backward{transform-origin:right center}.turn-front,.turn-back{position:absolute;inset:0;backface-visibility:hidden;background:var(--paper);overflow:hidden;box-shadow:0 0 20px #0002}.turn-front canvas,.turn-back canvas{width:100%;height:100%;display:block}.turn-front::after,.turn-back::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0002,transparent 22%,#fff1 70%,#0002);pointer-events:none}.turn-back{transform:rotateY(180deg)}dialog{border:0;padding:0;background:var(--ground);color:inherit;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}dialog::backdrop{background:#202820c0}.zoom-bar{display:flex;gap:8px;align-items:center;background:var(--ground);padding:10px 14px;border-bottom:1px solid var(--line);height:64px}#zoom-close{margin-left:auto}#zoom-pages{height:calc(100% - 64px);overflow:auto;padding:20px;touch-action:pan-x pan-y}.zoom-page{position:relative;margin:0 auto 20px;background:var(--paper);box-shadow:0 5px 20px #0002}.zoom-page canvas{display:block;width:100%;height:100%}#zoom-percent{min-width:42px;text-align:center}body.focus-mode #toolbar{display:none}body.focus-mode #stage{padding-top:10px;padding-bottom:10px}@media(max-width:700px){#stage{padding:14px 36px 10px}.edge{width:29px;min-height:46px}#previous{left:3px}#next{right:3px}#toolbar{padding:9px 12px max(12px,env(safe-area-inset-bottom));grid-template-columns:1fr auto;gap:10px}#brand{font-size:11px;letter-spacing:.7px;max-width:180px}#brand img{max-height:28px;max-width:135px}#pagination{justify-self:end}.tools{grid-column:1/-1;justify-content:center}.tools button,.tools a{font-size:12px;min-height:40px}#layout{display:none}}@media(prefers-reduced-motion:reduce){.turn-sheet{display:none}}

/* An outlined, forward-curving page-turn cue matching the reference. */
.corner-turn{position:absolute;right:7px;bottom:10px;width:56px;height:56px;min-height:56px;padding:2px;border:0;border-radius:4px;background:transparent;color:#202820;box-shadow:none;z-index:7;touch-action:manipulation}
.corner-turn:hover{background:transparent;box-shadow:none}
.corner-turn svg{width:52px;height:52px;fill:#fffdf7;fill-opacity:.94;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;filter:drop-shadow(0 1px 1px #0002)}
.corner-turn:hover svg{stroke-width:2.2;fill-opacity:1}
.corner-turn.first-hint svg{animation:corner-invite 1.8s ease-in-out 3}
@keyframes corner-invite{0%,100%{transform:translate(0,0)}50%{transform:translate(2px,-2px)}}
@media(prefers-reduced-motion:reduce){.corner-turn.first-hint svg{animation:none}}
@media(max-width:700px){.corner-turn{right:5px;bottom:8px;width:48px;height:48px;min-height:48px;padding:1px}.corner-turn svg{width:46px;height:46px}}

/* Keep paper geometry identical before, during and after the turn. */
#book{perspective:1800px}
.page+.page{border-left:0}
.page+.page::before{content:'';position:absolute;inset:0 auto 0 0;width:1px;background:#0002;pointer-events:none;z-index:3}
.turn-front,.turn-back{box-shadow:none}
.turn-front::after,.turn-back::after{display:none}
.turn-light{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(90deg,#0003,transparent 35%,#fff2 75%,#0002)}
.turn-stationary{position:absolute;top:0;height:100%;z-index:4;pointer-events:none;background:var(--paper);overflow:hidden}
.turn-stationary canvas,.turn-fade canvas{display:block;width:100%;height:100%}
.turn-fade{position:absolute;inset:0;z-index:5;pointer-events:none;background:var(--paper)}

/* Article-width embeds favor one readable page and tighter framing. */
@media (min-width:701px) and (max-width:1000px){
 #stage{padding:12px 38px 10px}
 .edge{width:30px;min-height:44px}#previous{left:3px}#next{right:3px}
 #toolbar{grid-template-columns:1fr auto;gap:8px;padding:8px 14px 12px}
 #brand{max-width:210px}#brand img{max-height:30px;max-width:160px}
 #pagination{justify-self:end}.tools{grid-column:1/-1;justify-content:center}
 .tools button,.tools a{font-size:12px;min-height:38px}
}
