:root{color-scheme:dark;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;background:#24231f;color:#ece7db}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}
body{height:100svh;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-text-size-adjust:100%}
button,input,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}
button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #d7bc8f;outline-offset:4px}
button:disabled{opacity:.23;cursor:default}
[hidden]{display:none!important}
.reader{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 46px;padding:clamp(12px,2.5vh,28px) clamp(12px,2.7vw,42px) max(10px,env(safe-area-inset-bottom));gap:8px}
.stage{position:relative;min-height:0;display:grid;grid-template-columns:50px minmax(0,1fr) 50px;align-items:center;gap:clamp(8px,2vw,28px)}
.frame{min-width:0;min-height:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.book{width:100%;height:100%;min-height:0;touch-action:none!important;filter:drop-shadow(0 13px 18px #0007)}
.book.stf__parent,.book .stf__block,.book .stf__wrapper{touch-action:none!important}
.book .stf__wrapper{height:100%}
.book .page{overflow:hidden;background:#e9e4dc;touch-action:none;user-select:none;-webkit-user-select:none}
.book .page img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;pointer-events:none}
.book .page .qr-hotspot{position:absolute;z-index:3;left:7%;top:85%;width:9%;height:10%;min-width:44px;min-height:44px;cursor:pointer;touch-action:manipulation;border-radius:2px}
.qr-hotspot::after{content:"";position:absolute;inset:-3px;border:2px solid #ae8551;border-radius:4px;pointer-events:none;animation:qr-pulse 2.4s ease-out infinite}
.qr-hotspot:hover{outline:1px solid #a37645;outline-offset:2px}.qr-hotspot:focus-visible{outline:2px solid #a37645;outline-offset:2px}
@keyframes qr-pulse{0%{box-shadow:0 0 0 0 #ad7d4a9c}70%,100%{box-shadow:0 0 0 13px #ad7d4a00}}
.arrow{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;transition:background .15s ease}.arrow:hover:not(:disabled){background:#ffffff13}.arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.controls{display:flex;align-items:center;justify-content:center;gap:22px;min-width:0;color:#c3bcb0;font-size:11px;font-variant-numeric:tabular-nums}.controls #counter{min-width:62px;white-space:nowrap;color:#e5d5b7}
.fullscreen{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 8px;border-radius:4px;white-space:nowrap;font-size:11px;color:#e5d5b7}.fullscreen:hover{background:#ffffff13}.fullscreen svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#progress{width:min(260px,30vw);height:35px;margin:0;appearance:none;-webkit-appearance:none;background:transparent;touch-action:manipulation;cursor:pointer}
#progress::-webkit-slider-runnable-track{height:1px;background:#817a70}#progress::-moz-range-track{height:1px;background:#817a70}#progress::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:10px;margin-top:-4.5px;border-radius:50%;background:#d7bc8f}#progress::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:#d7bc8f}
.status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10;background:#24231fe8;padding:12px 18px;font-size:12px;text-align:center}.status button{color:#d7bc8f;text-decoration:underline}
.rotate{display:none}.noscript{position:fixed;inset:30% 10% auto;text-align:center;background:#24231f;padding:25px;z-index:30}
@media(max-height:560px) and (orientation:landscape){.reader{grid-template-rows:minmax(0,1fr) 32px;padding:8px max(9px,env(safe-area-inset-left)) max(5px,env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-right));gap:2px}.stage{grid-template-columns:34px minmax(0,1fr) 34px;gap:4px}.arrow{width:34px;height:34px}.arrow svg{width:20px;height:20px}.controls{font-size:10px;gap:12px}#progress{height:28px;width:min(190px,26vw)}.fullscreen{min-height:28px;padding:0 5px;font-size:10px}}
@media(max-width:720px){.fullscreen span{display:none}.controls{gap:10px}.hint{max-width:165px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:700px) and (orientation:portrait){.reader{visibility:hidden}.rotate{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:17px;padding:24px;background:#24231f;text-align:center}.rotate svg{width:70px;height:70px;fill:none;stroke:#d4b889;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.rotate span{font-size:13px;letter-spacing:.22em;color:#d4b889}.rotate p{font-size:20px;font-weight:500;margin:0;letter-spacing:.02em}}
@media(prefers-reduced-motion:reduce){.arrow{transition:none}.qr-hotspot::after{animation:none}}
