main>.catalog-book+.catalog-nav{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;z-index:40;pointer-events:none}.catalog-nav>*{pointer-events:auto}.catalog-nav-btn{width:40px;height:40px;border-radius:9999px;background:#fffffff2;border:1px solid var(--color-outline-variant);box-shadow:0 4px 12px #0f172a1f;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-primary);transition:all .2s ease}.catalog-nav-btn:hover{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.catalog-nav-btn:active{transform:scale(.92)}.catalog-indicator{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;color:var(--color-primary);background:#fffffff2;padding:6px 14px;border-radius:9999px;border:1px solid var(--color-outline-variant);box-shadow:0 4px 12px #0f172a1f;display:flex;gap:4px;align-items:center}.catalog-indicator .separator{color:var(--color-outline)}.catalog-book{width:100vw;height:100vh;height:100dvh;overflow:hidden;position:relative;background:#0b0f19;display:flex;align-items:center;justify-content:center}.catalog-page{position:absolute;top:50%;left:50%;width:794px;height:1123px;transform:translate(-50%,-50%) scale(var(--zoom, 1)) translate(0);transform-origin:center center;transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .6s ease;will-change:transform;box-shadow:0 8px 40px #00000080}.catalog-page-inner{width:794px;height:1123px;display:flex;flex-direction:column;overflow:hidden;position:relative;background:var(--color-surface)}.catalog-page-inner>.page-header{display:flex;align-items:center;gap:8px;padding:20px 32px;border-bottom:1px solid var(--color-outline-variant);flex-shrink:0}.catalog-page-inner>.page-body{flex:1;overflow-y:auto;padding:36px 44px;display:flex;flex-direction:column;justify-content:center}.catalog-page-inner>.page-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;border-top:1px solid var(--color-outline-variant);flex-shrink:0}.catalog-cover .page-header,.catalog-cover .page-footer{display:none}.catalog-book.mode-single .catalog-page.page-past{transform:translate(-50%,-50%) scale(var(--zoom, 1)) translate(-120%);opacity:0;pointer-events:none}.catalog-book.mode-single .catalog-page.page-active{transform:translate(-50%,-50%) scale(var(--zoom, 1)) translate(0);opacity:1;z-index:10}.catalog-book.mode-single .catalog-page.page-future{transform:translate(-50%,-50%) scale(var(--zoom, 1)) translate(120%);opacity:0;pointer-events:none}.catalog-book.mode-double .catalog-page.page-active.page-left{transform:translate(-50%,-50%) scale(var(--zoom, 1)) translate(calc(-50% - var(--gap-pct, .3%)));opacity:1;z-index:10}.catalog-book.mode-double .catalog-page.page-active.page-right{transform:translate(-50%,-50%) scale(var(--zoom, 1)) translate(calc(50% + var(--gap-pct, .3%)));opacity:1;z-index:10}.catalog-book.mode-double .catalog-page.page-past{transform:translate(-50%,-50%) scale(var(--zoom, 1)) translate(calc(-50% - var(--gap-pct, .3%) - 120%));opacity:0;pointer-events:none}.catalog-book.mode-double .catalog-page.page-future{transform:translate(-50%,-50%) scale(var(--zoom, 1)) translate(calc(50% + var(--gap-pct, .3%) + 120%));opacity:0;pointer-events:none}.catalog-book.mode-double .catalog-page.page-active.page-single{transform:translate(-50%,-50%) scale(var(--zoom, 1)) translate(0);opacity:1;z-index:10}.catalog-book.mode-double .catalog-page.page-active.page-left .catalog-page-inner:after{content:"";position:absolute;top:0;bottom:0;right:0;width:20px;background:linear-gradient(to left,rgba(0,0,0,.1),transparent);pointer-events:none;z-index:5}.catalog-book.mode-double .catalog-page.page-active.page-right .catalog-page-inner:before{content:"";position:absolute;top:0;bottom:0;left:0;width:20px;background:linear-gradient(to right,rgba(0,0,0,.1),transparent);pointer-events:none;z-index:5}.catalog-page-inner{transform-origin:center center}@media(max-width:767px){.catalog-page-inner>.page-body{padding:1.5rem}.catalog-page-inner>.page-header{padding:.75rem 1rem}}
