.catalog-page { background:#101827; color:#fff; overflow:hidden; }
.catalog-reader { display:flex; flex-direction:column; height:100vh; height:100dvh; background:radial-gradient(ellipse at 50% 45%,#263c47 0,#15232d 50%,#0c1323 100%); }
.catalog-reader a { text-decoration:none; }
.catalog-reader button,.catalog-zoom button { font-family:inherit; color:inherit; cursor:pointer; }
.catalog-reader svg,.catalog-zoom svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.catalog-reader button:focus-visible,.catalog-reader a:focus-visible,.catalog-reader select:focus-visible,.catalog-reader input:focus-visible,.catalog-zoom button:focus-visible { outline:2px solid var(--orange); outline-offset:4px; }
.catalog-header { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-shrink:0; min-height:87px; padding:16px 32px; border-bottom:1px solid #ffffff16; }
.catalog-back,.catalog-download { display:flex; align-items:center; gap:12px; font-size:11px; color:#c1c7d3; }
.catalog-back:hover,.catalog-download:hover { color:white; }
.catalog-download small { margin-left:8px; font-size:9px; color:#858d9e; }
.catalog-title { text-align:center; }
.catalog-title h1 { margin:0; font-size:23px; font-weight:400; letter-spacing:-.025em; line-height:1.3; }
.catalog-title h1 span { color:#eeaa6b; }
.catalog-title p { margin:5px 0 0; font-size:9px; color:#858f9d; letter-spacing:.14em; text-transform:uppercase; }
.catalog-tools { display:flex; align-items:center; gap:25px; min-height:58px; flex-shrink:0; padding:8px 32px; }
.catalog-section-select { display:flex; align-items:center; gap:12px; font-size:11px; }
.catalog-section-select > span { color:#85909e; }
.catalog-section-select select { border:1px solid #ffffff25; border-radius:2px; background:#172632; color:#e0e5e9; font:inherit; font-size:12px; max-width:230px; padding:9px 26px 9px 13px; }
.catalog-help { margin-left:auto; font-size:10px; color:#8895a3; }
.catalog-tool { display:flex; align-items:center; gap:9px; border:0; background:transparent; font-size:11px; padding:7px 0; }
.catalog-tool:hover { color:var(--orange); }
.catalog-stage { position:relative; flex:1; min-height:0; display:flex; align-items:center; justify-content:center; padding:18px 80px 28px; }
.catalog-book { width:100%; height:100%; max-width:1550px; margin:auto; }
.catalog-book.stf__parent { min-width:0 !important; min-height:0 !important; }
.catalog-book .stf__wrapper { position:relative; width:100%; height:100%; }
.catalog-leaf { background:#1d3541; overflow:hidden; }
.catalog-leaf img { width:100%; height:100%; object-fit:contain; display:block; user-select:none; }
.catalog-book:not(.stf__parent) { display:flex; justify-content:center; align-items:center; overflow:hidden; }
.catalog-book:not(.stf__parent) .catalog-leaf { display:none; width:50%; max-height:100%; aspect-ratio:1; }
.catalog-book:not(.stf__parent) .catalog-leaf:nth-child(-n+2) { display:block; }
.catalog-book.is-fallback .catalog-leaf { display:none !important; }
.catalog-book.is-fallback .catalog-leaf.is-visible { display:block !important; }
.catalog-turn { position:absolute; z-index:5; top:50%; display:grid; place-items:center; width:43px; height:43px; border:1px solid #ffffff30; border-radius:50%; background:#ffffff05; transform:translateY(-50%); }
.catalog-turn:hover:not(:disabled) { border-color:#fff; background:#ffffff12; }
.catalog-turn:disabled { opacity:.2; cursor:default; }
.catalog-prev { left:24px; }
.catalog-next { right:24px; }
.catalog-controls { display:flex; align-items:center; gap:35px; padding:15px 32px calc(18px + env(safe-area-inset-bottom)); min-height:68px; flex-shrink:0; border-top:1px solid #ffffff16; }
.catalog-page-status { display:flex; align-items:baseline; gap:7px; min-width:90px; }
.catalog-page-status strong { font-size:17px; font-weight:400; }
.catalog-page-status span { font-size:10px; color:#82909f; }
.catalog-progress { flex:1; display:flex; align-items:center; }
.catalog-progress input { width:100%; height:3px; accent-color:var(--orange); cursor:pointer; }
.catalog-jump { display:flex; align-items:center; gap:10px; }
.catalog-jump label { color:#85909e; font-size:10px; }
.catalog-jump input { width:48px; color:#fff; border:1px solid #ffffff25; background:#ffffff05; border-radius:2px; padding:7px 3px; text-align:center; font:inherit; font-size:12px; appearance:textfield; }
.catalog-jump input::-webkit-inner-spin-button { appearance:none; }
.catalog-jump button { display:grid; place-items:center; border:0; background:transparent; padding:6px; }
.catalog-noscript { position:absolute; inset:auto 0 80px; text-align:center; background:#111a36; padding:20px; font-size:13px; }
.catalog-noscript a { color:var(--orange); }
.catalog-zoom { width:calc(100vw - 40px); height:calc(100dvh - 40px); max-width:none; max-height:none; margin:auto; border:1px solid #ffffff30; padding:0; background:#182732; color:#fff; overflow:hidden; }
.catalog-zoom[open] { display:flex; flex-direction:column; }
.catalog-zoom::backdrop { background:#050b1aeb; backdrop-filter:blur(7px); }
.catalog-zoom header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 18px; border-bottom:1px solid #ffffff20; }
.catalog-zoom h2 { font-size:13px; font-weight:400; margin:0; }
.catalog-zoom header > div { display:flex; gap:8px; align-items:center; }
.catalog-zoom button { display:grid; place-items:center; background:#ffffff0a; border:1px solid #ffffff20; min-width:34px; height:34px; border-radius:2px; font-size:22px; }
.catalog-zoom [data-zoom-close] { margin-left:12px; }
.catalog-zoom [data-zoom-level] { font-size:10px; min-width:35px; text-align:center; color:#9ea8b5; }
.catalog-zoom-stage { overflow:auto; flex:1; min-height:0; padding:18px; }
.catalog-zoom-canvas { display:flex; width:100%; margin:auto; }
.catalog-zoom-canvas img { display:block; width:100%; height:auto; object-fit:contain; flex-shrink:0; align-self:start; }
.catalog-zoom-canvas.is-spread img { width:50%; }
.catalog-zoom > p { padding:10px 18px; font-size:10px; margin:0; color:#8695a3; border-top:1px solid #ffffff20; }
@media(max-width:760px) {
 .catalog-header { min-height:80px; padding:15px 16px; gap:14px; }
 .catalog-title h1 { font-size:17px; }
 .catalog-title h1 span { display:block; }
 .catalog-title p { font-size:8px; }
 .catalog-back,.catalog-download { gap:0; }
 .catalog-back span,.catalog-download span { display:none; }
 .catalog-tools { padding:8px 17px; gap:12px; min-height:58px; justify-content:space-between; }
 .catalog-section-select > span { display:none; }
 .catalog-section-select select { max-width:205px; padding:9px 20px 9px 10px; font-size:11px; }
 .catalog-help { display:none; }
 .catalog-tool span { font-size:10px; }
 .catalog-stage { padding:10px 20px 52px; }
 .catalog-turn { top:auto; bottom:0; width:44px; height:44px; transform:none; }
 .catalog-prev { left:calc(50% - 55px); }
 .catalog-next { right:calc(50% - 55px); }
 .catalog-turn svg { width:17px; }
 .catalog-controls { gap:18px; padding:20px 17px calc(20px + env(safe-area-inset-bottom)); }
 .catalog-page-status { min-width:55px; }
 .catalog-jump label { display:none; }
 .catalog-jump { gap:3px; }
 .catalog-jump input { width:38px; }
 .catalog-book:not(.stf__parent) .catalog-leaf { width:100%; }
 .catalog-book:not(.stf__parent) .catalog-leaf:nth-child(2) { display:none; }
 .catalog-zoom { width:calc(100vw - 16px); height:calc(100dvh - 20px); }
 .catalog-zoom-stage { padding:6px; }
 .catalog-zoom h2 { font-size:11px; }
 .catalog-zoom header { padding:10px; }
}
@media(max-height:500px) and (min-width:761px) {
 .catalog-header { min-height:60px; padding-block:10px; }
 .catalog-title p { display:none; }
 .catalog-tools { min-height:45px; }
 .catalog-controls { min-height:50px; padding-block:10px; }
 .catalog-stage { padding-block:5px; }
}
