.mcc-catalogue{--paper:var(--surface-white);position:relative}
.mcc-catalogue-reader{min-width:0}
.mcc-catalogue-stage{position:relative;padding:24px 64px 32px}
.mcc-catalogue-book{position:relative;width:min(100%,880px);aspect-ratio:1102/781;margin:0 auto;touch-action:pan-y pinch-zoom;transform-style:preserve-3d;perspective:2000px;cursor:grab;outline-offset:8px;transform:translateX(var(--book-shift,0%))}
.mcc-catalogue-book.is-front{--book-shift:-25%}.mcc-catalogue-book.is-back{--book-shift:25%}
.mcc-catalogue-book.is-dragging{cursor:grabbing}
.mcc-catalogue-page{position:absolute;top:0;left:50%;margin:0;width:50%;height:100%;min-width:0;background:var(--paper);box-shadow:0 18px 34px color-mix(in srgb,var(--surface-deep) 26.67%,transparent),2px 3px 0 var(--ink-on-dark-2);overflow:hidden}
.mcc-catalogue-page.is-left{left:0}.mcc-catalogue-page.is-right{left:50%}
.mcc-catalogue-page[hidden],.mcc-catalogue [hidden]{display:none!important}
.mcc-catalogue-page img{display:block;width:100%;height:100%;object-fit:contain;background:var(--paper);user-select:none;-webkit-user-drag:none}
.mcc-catalogue-page.is-left:after,.mcc-catalogue-page.is-right:after{content:'';position:absolute;inset:0;pointer-events:none}
.mcc-catalogue-page.is-left:after{background:linear-gradient(90deg,transparent 94%,color-mix(in srgb,var(--surface-deep) 13.73%,transparent))}
.mcc-catalogue-page.is-right:after{background:linear-gradient(90deg,color-mix(in srgb,var(--surface-deep) 13.73%,transparent),transparent 6%)}
.mcc-catalogue-book.is-front .mcc-catalogue-page,.mcc-catalogue-book.is-back .mcc-catalogue-page{border-radius:var(--radius-sm) var(--radius-sm) var(--radius-sm) var(--radius-sm)}
.mcc-catalogue-leaf{position:absolute;top:0;left:50%;width:50%;height:100%;z-index:5;pointer-events:none;transform-style:preserve-3d}
.mcc-paper-strip{position:absolute;top:0;height:100%;transform-origin:0 50%;transform-style:preserve-3d}
.mcc-paper-face{position:absolute;inset:0;width:calc(100% + 1.5px);height:100%;background-repeat:no-repeat;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.mcc-paper-back{transform:rotateY(180deg)}
.mcc-catalogue-shadow{position:absolute;top:0;bottom:0;left:50%;width:50%;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--surface-deep) 39.61%,transparent),transparent 80%);z-index:3;transform-origin:left center;opacity:0}
.mcc-catalogue-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:8;display:grid;place-items:center;width:58px;height:58px;border:1px solid color-mix(in srgb,var(--ink-on-dark-2) 53.33%,transparent);border-radius:50%;color:var(--surface-white);background:linear-gradient(145deg,color-mix(in srgb,var(--accent-on-light) 87.84%,transparent),color-mix(in srgb,var(--surface-dark) 87.84%,transparent));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface-light) 15.69%,transparent),0 7px 22px color-mix(in srgb,var(--surface-deep) 33.33%,transparent);transition:background .2s,box-shadow .2s,opacity .2s}
.mcc-catalogue-prev{left:0}.mcc-catalogue-next{right:0}
.mcc-catalogue-arrow svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.mcc-catalogue-arrow:not(:disabled):hover{background:var(--accent-on-light);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 18.04%,transparent),inset 0 1px 0 color-mix(in srgb,var(--surface-light) 25.1%,transparent)}
.mcc-catalogue-prev:not(:disabled):hover svg{transform:translateX(-3px)}.mcc-catalogue-next:not(:disabled):hover svg{transform:translateX(3px)}
.mcc-catalogue-arrow:disabled{opacity:.24;cursor:default;box-shadow:none}
.mcc-catalogue-status{text-align:center;color:var(--muted);font-size:var(--text-sm);margin:0;letter-spacing:.04em;min-height:24px}
.mcc-catalogue-fallback{margin-top:20px}.mcc-catalogue-fallback summary{cursor:pointer}.mcc-catalogue-fallback a{text-decoration:underline}
.mcc-catalogue-sources{margin-top:24px;border-top:1px solid var(--border);padding-top:12px}.mcc-catalogue-sources summary{padding:8px 0;cursor:pointer;color:var(--turquoise);font-size:var(--text-sm)}.mcc-catalogue-sources>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px;margin-top:12px}.mcc-catalogue-sources a{display:block;padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm)}.mcc-catalogue-sources strong{display:block;color:var(--surface-white);font-size:var(--text-sm)}.mcc-catalogue-sources a>span{display:block;color:var(--muted);font-size:var(--text-sm);line-height:1.6;margin-top:6px}.mcc-catalogue-sources a:hover{border-color:var(--turquoise)}
@media(max-width:700px){.mcc-catalogue-stage{padding:16px 0 24px}.mcc-catalogue-arrow{top:calc(100% + 12px);width:46px;height:46px}.mcc-catalogue-prev{left:calc(50% - 124px)}.mcc-catalogue-next{right:calc(50% - 124px)}.mcc-catalogue-arrow svg{width:23px;height:23px}.mcc-catalogue-status{padding:0 64px;margin-top:2px;min-height:46px;display:grid;place-items:center;font-size:var(--text-sm)}.mcc-catalogue-book{perspective:1200px}.mcc-catalogue-page{box-shadow:0 10px 20px color-mix(in srgb,var(--surface-deep) 26.67%,transparent),1px 2px 0 var(--ink-on-dark-2)}}
@media(prefers-reduced-motion:reduce){.mcc-catalogue-arrow,.mcc-catalogue-arrow svg{transition:none}}
/* Slightly wider paired spreads, with compact arrows on phones. */
@media(max-width:700px){
 .mcc-catalogue-stage{margin-inline:-10px}
 .mcc-catalogue-arrow{width:36px;height:36px}
 .mcc-catalogue-arrow:before{content:'';position:absolute;inset:-5px}
 .mcc-catalogue-prev{left:calc(50% - 110px)}.mcc-catalogue-next{right:calc(50% - 110px)}
 .mcc-catalogue-arrow svg{width:19px;height:19px}
}
