:root{font-family:Arial,Helvetica,sans-serif;color:#eaece7;background:#102e29;color-scheme:dark}*{box-sizing:border-box}body{margin:0;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#28483e,#102e29 75%)}header{height:82px;flex-shrink:0;display:flex;align-items:center;padding:0 34px;border-bottom:1px solid #ffffff13;gap:24px}.brand{font-family:Georgia,serif;font-size:24px;letter-spacing:3px}.brand span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:5px;margin-top:4px}.edition{font-size:10px;letter-spacing:2px;color:#c6cbbd;border-left:1px solid #ffffff30;padding-left:24px}.edition span{display:block;font-size:9px;color:#c1a56d;margin-top:7px}button{font:inherit;color:inherit;border:1px solid #ffffff25;border-radius:6px;background:#ffffff07;cursor:pointer;min-height:40px;padding:8px 12px}button:hover{background:#ffffff18;border-color:#c1a56d}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e8c783;outline-offset:3px}button:disabled{opacity:.25;cursor:default}#full{margin-left:auto;font-size:24px}main{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:25px;padding:24px 20px;perspective:2200px}.arrow{font-size:38px;border-radius:50%;width:48px;height:48px;padding:0;flex-shrink:0;line-height:38px}#book{position:relative;display:flex;box-shadow:0 15px 45px #0006;isolation:isolate}.leaf{height:100%;border:0;border-radius:0;background:#e8e7df;padding:0;position:relative;min-height:0;display:block}.leaf img{display:block;width:100%;height:100%;object-fit:contain}.leaf:hover{background:#e8e7df}.leaf:focus-visible{z-index:5}.leaf:first-child:nth-last-child(2):after{content:'';position:absolute;right:0;top:0;width:20px;height:100%;background:linear-gradient(90deg,transparent,#0002);pointer-events:none}.leaf:nth-child(2):after{content:'';position:absolute;left:0;top:0;width:14px;height:100%;background:linear-gradient(90deg,#0002,transparent);pointer-events:none}.turning{position:absolute;top:0;height:100%;transform-style:preserve-3d;z-index:10;pointer-events:none}.turning img{position:absolute;width:100%;height:100%;backface-visibility:hidden}.turning img.back{transform:rotateY(180deg)}footer{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 34px;background:#0b241f80;border-top:1px solid #ffffff13;font-size:12px}.tools{display:flex;gap:8px}#jump{display:flex;align-items:center;gap:9px}input{width:49px;padding:9px 3px;text-align:center;background:#ffffff0a;border:1px solid #ffffff30;border-radius:4px;color:white;font:inherit;appearance:textfield}input::-webkit-inner-spin-button{appearance:none}.hint{font-size:11px;color:#afbaad}#progress{height:3px;background:#ffffff10}#progress div{height:100%;background:#b79c63;transition:width .3s}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}dialog{background:#142f29;color:#f4f1e9;border:1px solid #6d7c65;border-radius:12px;padding:0;max-width:100%;box-shadow:0 20px 80px #0009}dialog::backdrop{background:#05130fd9}.dialogbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#142f29;position:sticky;top:0;z-index:2}.dialogbar h2{font:20px Georgia,serif;margin:0}#gallery{width:960px;height:85vh}#grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;padding:10px 20px 24px}#grid button{padding:5px}#grid img{width:100%;display:block;margin-bottom:6px}#grid button[aria-current=true]{border:2px solid #e8c783}#detail{width:96vw;height:94vh;max-height:96dvh;overflow:hidden}#detail[open]{display:flex;flex-direction:column}#zoomScroll{overflow:auto;flex:1;min-height:0;background:#091f1a;padding:12px;text-align:center;touch-action:pan-x pan-y}#large{display:block;max-width:none;margin:auto;object-fit:contain}.zoomHint{font-size:11px;text-align:center;color:#bfc6b9;margin:10px}@media(max-width:700px){header{height:68px;padding:0 16px;gap:15px}.brand{font-size:20px}.edition{font-size:8px;letter-spacing:1px;padding-left:15px}.edition span{font-size:8px}main{padding:16px 8px;gap:7px}.arrow{width:30px;height:40px;font-size:28px;border:0}footer{padding:10px 12px;gap:7px;min-height:66px}.tools{gap:5px}.tools button{padding:6px 9px}.tools span{display:none}.hint{display:none}#jump{gap:6px}.dialogbar{padding:12px}.dialogbar h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
