:root{color-scheme:light;font-family:Arial,Helvetica,sans-serif;color:#202020;background:#fff;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#fff}
header{padding:52px 6vw 88px}h1{margin:0;font-size:clamp(25px,3vw,42px);font-weight:400;letter-spacing:-.055em}
main{max-width:1260px;margin:0 auto;padding:0 6vw}
section{padding:0 0 110px;outline:none;scroll-margin-top:30px}
.stage{width:100%;margin:auto;display:flex;justify-content:center;align-items:center;min-height:260px}
.book{margin:auto;filter:drop-shadow(0 3px 5px rgba(0,0,0,.07)) drop-shadow(0 14px 20px rgba(0,0,0,.1))}
.page{background:#fff;overflow:hidden}.page canvas{width:100%;height:100%;object-fit:contain;display:block}
.controls{display:flex;align-items:center;justify-content:center;gap:30px;margin:26px 0 0}
.controls button{border:0;border-radius:0;background:transparent;color:#333;width:48px;height:48px;padding:0;cursor:pointer;font-family:Arial,Helvetica,sans-serif;font-size:25px;font-weight:400;line-height:1;transition:opacity .15s}
.controls button:hover{opacity:.55}.controls button:disabled{opacity:.2;cursor:default}
.status{text-align:center;font-size:12px;color:#777;line-height:1.6;margin:0 0 22px}.status:empty{display:none}
.original{display:block;text-align:center;color:inherit;font-size:12px;margin:0 0 20px}
button:focus-visible,a:focus-visible,section:focus-visible{outline:1px solid #555;outline-offset:5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page .placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;padding:24px;text-align:center;color:#969696;font-size:11px;line-height:1.6}
.placeholder strong{font-family:Georgia,serif;font-size:64px;font-weight:400;color:#d4d4d4}.placeholder small{font-size:10px}
[hidden]{display:none!important}
@media(max-width:600px){header{padding:32px 6vw 64px}section{padding-bottom:80px}.controls{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.controls button{transition:none}}

.controls .fullscreen{margin-left:8px;display:grid;place-items:center}
.fullscreen svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
body.book-is-fullscreen{overflow:hidden}
section.is-fullscreen,section:fullscreen{position:fixed;inset:0;z-index:1000;width:100%;height:100%;height:100dvh;max-width:none;margin:0;padding:28px 24px 20px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.is-fullscreen .stage{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}
.is-fullscreen .controls{flex:none;margin-top:18px}
.is-fullscreen .status{flex:none}
section::backdrop{background:#fff}

.legal-footer{padding:0 6vw 32px;text-align:center}
.legal-footer a{color:#777;font-size:11px;text-decoration:none}
.legal-footer a:hover{text-decoration:underline}
.legal-page{max-width:720px;margin:0 6vw;padding:0 0 80px;font-size:14px;line-height:1.8}
.legal-page h2{font-size:18px;line-height:1.5;font-weight:400;margin:0 0 28px}
.legal-page p{margin:0 0 22px}
.legal-back{display:inline-block;margin-top:26px;color:inherit;text-decoration:none;font-size:12px}
.legal-back:hover{text-decoration:underline}

.book{touch-action:pan-y pinch-zoom}
@media(max-width:600px){.stage{min-height:0}}
