:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:#f6fafb;background:#092735}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 42%,#215369 0,#102f40 48%,#081e2a 100%)}header,footer{display:flex;align-items:center;justify-content:space-between;padding:20px 34px;gap:16px}header{border-bottom:1px solid #ffffff15}.brand{display:flex;gap:12px;align-items:center}.brand strong{font-size:23px;letter-spacing:-.7px}.badge{background:#049bcf;border-radius:13px;font-size:28px;font-weight:bold;padding:7px 12px;position:relative}.badge span{position:absolute;font-size:14px;right:-3px;top:-4px;color:#ffdf39}.subtitle{display:block;margin-top:5px;font-size:12px;letter-spacing:1.5px;color:#a9c9d5}button,select{font:inherit;color:inherit;border:1px solid #ffffff2b;background:#ffffff0c;border-radius:10px;min-height:44px;padding:9px 16px;cursor:pointer}button:hover{background:#ffffff20}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #ffdc36;outline-offset:4px}button:disabled{opacity:.25;cursor:default}#zoom{font-size:14px}#zoom span{margin-left:8px}main{flex:1;display:flex;align-items:center;flex-direction:column;padding:15px 12px 0}.edition{color:#ffdd42;font-size:11px;letter-spacing:3px;margin-bottom:14px}#stage{display:flex;align-items:center;justify-content:center;gap:22px;width:100%;perspective:2000px}#book{position:relative;width:min(calc((100dvh - 265px)*1.40952),calc(100vw - 172px),1000px);aspect-ratio:296/210;perspective:2200px;filter:drop-shadow(0 24px 25px #0006)}.page{position:absolute;top:0;width:50%;height:100%;background:#fff}.left{left:0}.right{left:50%}.page img,.face img{display:block;width:100%;height:100%;object-fit:contain}.page:not(.empty){cursor:pointer}.empty{background:transparent}.page.left:not(.empty):after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 90%,#00000021)}.page.right:not(.empty):after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0000001a,transparent 10%)}.sheet{position:absolute;top:0;width:50%;height:100%;transform-style:preserve-3d;z-index:5}.face{position:absolute;inset:0;backface-visibility:hidden;background:white}.back{transform:rotateY(180deg)}.sheet.forward{left:50%;transform-origin:left}.sheet.backward{left:0;transform-origin:right}.sheet.forward.turn{transform:rotateY(-180deg)}.sheet.backward.turn{transform:rotateY(180deg)}.sheet{transition:transform 650ms cubic-bezier(.3,.05,.2,1)}.side{font-size:38px;line-height:1;width:46px;padding:0;border-radius:50%;height:46px;background:#ffffff0b}nav{display:flex;align-items:center;gap:12px;margin-top:19px;color:#d4e6ed}nav button{padding:3px 15px;font-size:26px}nav label,.total{font-size:14px;color:#a9c9d5}select{padding:8px 12px;background:#183e50}option{background:#183e50}.hint{font-size:12px;color:#8eafbd;margin:12px 0 5px}footer{font-size:12px;color:#8eafbd;padding-top:14px;padding-bottom:14px}a{color:#cdeaf4;text-decoration:none}.sr{position:absolute;left:-9999px}dialog{padding:0;background:#102f40;border:1px solid #587684;border-radius:14px;width:95vw;max-width:1600px;height:94dvh;color:white}dialog::backdrop{background:#000b}.readerbar{position:sticky;top:0;z-index:2;background:#102f40;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #ffffff20}.zoomHint{text-align:center;font-size:14px;color:#b3cbd6}.zoomControls{display:flex;gap:8px;justify-content:center;margin:10px}#largePages{display:flex;flex-direction:column;align-items:center;gap:20px;padding:10px 20px 30px;min-width:100%;width:max-content}#largePages img{width:var(--reading-width, min(85vw,850px));height:auto;max-width:none;box-shadow:0 8px 30px #0005}
@media(max-width:650px){header{padding:14px 16px}.brand strong{font-size:19px}.subtitle{font-size:10px;letter-spacing:.7px}.badge{font-size:23px;padding:6px 10px}#zoom{padding:8px 10px;font-size:13px}.edition{margin-bottom:10px}#book{width:min(calc((100dvh - 245px)*.70476),calc(100vw - 30px));aspect-ratio:148/210}.page{width:100%;left:0}.side{display:none}.sheet{width:100%}.sheet.forward{left:0}.sheet.backward{left:0}nav{margin-top:16px}.hint{font-size:11px}footer{padding:14px 16px;font-size:11px}main{padding-top:13px}}
@media(prefers-reduced-motion:reduce){.sheet{transition-duration:1ms}}
