*{box-sizing:border-box}html,body{margin:0;height:100%;width:100%;font-family:Arial,Helvetica,sans-serif;background:#101519;color:#f5f1ea}body{display:grid;grid-template-rows:96px minmax(0,1fr) 64px;overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid #526069;border-radius:3px;background:#263239;color:#f8f3e9;padding:10px 14px;min-height:42px}a{color:#dcc59f;text-decoration:none}button:hover,a:hover{color:#fff;border-color:#d7bc8d}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e6bb76;outline-offset:3px}header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:15px 4vw;border-bottom:1px solid #313b41}.brand{font-family:Georgia,serif;font-size:23px;letter-spacing:4px;color:#f5f1ea;line-height:1.1}.brand span{display:block;font-family:Arial,sans-serif;font-size:12px;letter-spacing:2px;margin-top:7px;color:#c7ad7f}nav{display:flex;gap:24px;font-size:14px}#search{position:relative;display:flex;gap:7px}#codeSearch{width:215px;min-width:0;background:#1b252b;border:1px solid #526069;color:white;border-radius:3px;padding:10px 12px;font-size:14px}#searchStatus{position:absolute;top:46px;left:0;color:#f0c990;font-size:12px;white-space:nowrap}main{min-height:0;padding:14px 48px;background:radial-gradient(ellipse at center,#26353e,#0d1216 75%)}.catalogShell{height:100%;width:100%;display:flex;align-items:center;justify-content:center;position:relative}#book{margin:auto;filter:drop-shadow(0 15px 24px #0008)}.catalogPage{background:#111619;position:relative;overflow:hidden}.catalogPage>img{height:100%;width:100%;display:block;user-select:none;-webkit-user-drag:none}.productHot{position:absolute;z-index:5;background:transparent;border:0;padding:0;min-height:0;border-radius:50% 50% 8px 8px;cursor:zoom-in}.productHot:hover,.productHot:focus-visible{outline:2px solid #c7ad7f;outline-offset:0;background:#ead0a40d}.side{position:absolute;top:50%;transform:translateY(-50%);z-index:15;width:40px;height:52px;font-size:32px;padding:0;background:#17242ccb}.left{left:-37px}.right{right:-37px}footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 4vw;border-top:1px solid #313b41;font-size:14px;color:#c1c9cc}.collection{font-size:12px;letter-spacing:2px;color:#a28f71}.actions{display:flex;gap:8px}.actions button{font-size:14px;background:none;border-color:transparent;padding:8px}dialog{border:1px solid #55616a;border-radius:6px;padding:20px;background:#172127;color:#f5f1ea;max-width:96vw;max-height:94dvh;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#05090dea}.dialogHead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.dialogHead h2{margin:0;font-weight:400;font-size:28px}.eyebrow{font-size:12px;letter-spacing:2px;color:#c7ad7f;margin:0 0 8px}.close{font-size:25px;border-radius:50%;width:42px;height:42px;padding:0;flex-shrink:0}#viewer{width:1010px}.productView{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:24px}.photo{background:#0c1215;min-height:0}.photo img{display:block;max-height:63dvh;width:100%;object-fit:contain}aside{align-self:center}aside figure{margin:0 0 22px;padding:12px;background:#101619;border-radius:4px}aside img{height:125px;width:100%;object-fit:contain}figcaption{margin-top:10px;font-size:12px;color:#aeb8bd;text-align:center}aside h3{font-size:17px;font-weight:400;margin:0 0 12px}aside p,aside a{font-size:14px;line-height:1.5}aside .note{color:#abb7bd;font-size:13px}.viewerFoot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;font-size:14px}.viewerFoot span{color:#acb7bc}.viewerFoot button{font-size:14px}.viewerFoot a{padding:10px 0}#pagesPanel{width:1000px}#thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:18px}.thumb{padding:0;overflow:hidden;background:#0e161b}.thumb img{width:100%;display:block}.thumb span{display:block;padding:9px 6px;font-size:13px;min-height:48px}#zoomPanel{width:1050px;height:94dvh;padding:12px;overflow:hidden}#zoomPanel .dialogHead{height:42px;margin-bottom:10px;justify-content:flex-start}#closeZoom{margin-left:auto}#zoomScroll{overflow:auto;height:calc(100% - 52px);background:#0c1114}#zoomSurface{position:relative;width:100%}#zoomPage{display:block;width:100%}#zoomSurface .productHot{border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){body{grid-template-rows:122px minmax(0,1fr) 60px}header{padding:12px 16px;gap:12px;display:grid;grid-template-columns:1fr 1fr}.brand{font-size:19px}.brand span{font-size:11px}nav{justify-content:flex-end;gap:14px;font-size:12px;grid-column:2;grid-row:1}#search{grid-column:1 / -1;grid-row:2}#codeSearch{flex:1;width:100%}#searchStatus{top:42px;font-size:11px;background:#101519;z-index:60}main{padding:10px 37px}.side{width:29px;height:48px}.left{left:-31px}.right{right:-31px}footer{padding:0 10px;font-size:12px}.collection{display:none}.actions{gap:0}.actions button{font-size:12px;padding:7px}.productView{grid-template-columns:minmax(0,1fr) 140px;gap:12px}.photo img{max-height:53dvh}aside figure{padding:7px;margin-bottom:12px}aside img{height:85px}aside h3{font-size:14px}aside p,aside a{font-size:12px}aside .note{font-size:11px}figcaption{font-size:11px}dialog{padding:14px}.viewerFoot{gap:6px;font-size:12px;flex-wrap:wrap}.viewerFoot button{padding:8px;font-size:12px}.dialogHead h2{font-size:24px}}@media(max-width:420px){.productView{grid-template-columns:1fr}.photo img{max-height:43dvh}aside{display:grid;grid-template-columns:95px 1fr;gap:0 14px}aside figure{grid-row:1 / 6;margin:0}aside img{height:75px}aside h3,aside p{margin:0 0 5px}aside p.note{font-size:11px}aside a{font-size:11px}.eyebrow{font-size:11px}.viewerFoot{margin-top:12px}.actions button{font-size:11px}#counter{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
#counter{min-width:0;max-width:44%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

body.expanded{grid-template-rows:0 minmax(0,1fr) 60px}body.expanded>header{visibility:hidden;overflow:hidden;padding:0}body.expanded>main{padding-top:4px}
