/* Shared viewer v20261020-linked-viewer-v1. Scoped to avoid legacy modal/theme selectors. */
.catalog-viewer{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(1600px,calc(100vw - 32px));height:calc(100vh - 32px);height:calc(100dvh - 32px);max-width:none;max-height:none;padding:0;border:1px solid #38525f;border-radius:12px;background:#0c1d26;color:#edf5f7;box-shadow:0 18px 80px #0008;font:15px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}
.catalog-viewer:not([open]){display:none}
.catalog-viewer::backdrop{background:rgba(2,11,17,.88)}
.catalog-viewer *{box-sizing:border-box}
.catalog-viewer [hidden]{display:none!important}
.catalog-viewer button{font:inherit;border:1px solid #405b6b;border-radius:7px;background:#17303e;color:#f4f8fa;min-width:44px;min-height:44px;padding:8px 13px;cursor:pointer;line-height:1.2;touch-action:manipulation}
.catalog-viewer button:hover:not(:disabled){background:#254a5c}
.catalog-viewer button:disabled{opacity:.4;cursor:default}
.catalog-viewer button:focus-visible,.catalog-viewer__stage:focus-visible{outline:3px solid #64dbef;outline-offset:-3px}
.catalog-viewer__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid #304956;min-width:0}
.catalog-viewer__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;font-size:16px}
.catalog-viewer button.catalog-viewer__close{flex:0 0 44px;font-size:31px;line-height:1;padding:1px 0;background:#263e4a}
.catalog-viewer__toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;border-bottom:1px solid #304956;flex-wrap:wrap}
.catalog-viewer__navigation,.catalog-viewer__zoom-controls{display:flex;align-items:center;gap:8px}
.catalog-viewer__zoom-controls{margin-left:auto}
.catalog-viewer__counter{font-size:13px;color:#c4d5dd;min-width:92px;text-align:center;white-space:nowrap}
.catalog-viewer__percent{font-size:14px;font-variant-numeric:tabular-nums;width:57px;text-align:center;color:#e4eef2}
.catalog-viewer__stage{position:relative;min-height:0;min-width:0;overflow:hidden;background:#dbe5e9;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:contain;outline:none;cursor:zoom-in}
.catalog-viewer__stage--pannable{cursor:grab}
.catalog-viewer__stage--dragging{cursor:grabbing}
.catalog-viewer img.catalog-viewer__image{position:absolute;left:0;top:0;margin:0;padding:0;border:0;max-width:none!important;max-height:none!important;object-fit:fill;transform-origin:0 0;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;will-change:transform;background:#fff;pointer-events:none}
.catalog-viewer__status{position:absolute;inset:0;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;padding:25px;text-align:center;color:#253d4b;z-index:1}
.catalog-viewer__error{font-size:16px;line-height:1.5;margin:0}
.catalog-viewer__loading{font-size:16px}
.catalog-viewer__footer{padding:9px 16px;color:#c4d5dd;font-size:12px;text-align:center;border-top:1px solid #304956}
.catalog-viewer__hotspots{position:absolute;inset:0;z-index:2;pointer-events:none}
/* The transparent target stays 44px at every zoom. Only the thin ring is drawn;
   the original printed reference stays visible, without duplicate text. */
.catalog-viewer button.catalog-viewer__hotspot{position:absolute;display:block;transform:translate(-50%,-50%);width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;pointer-events:auto;touch-action:manipulation;cursor:pointer}
.catalog-viewer button.catalog-viewer__hotspot::before{content:"";position:absolute;inset:11px;border:1px solid #087e6880;border-radius:50%;background:transparent;pointer-events:none}
.catalog-viewer button.catalog-viewer__hotspot:hover:not(:disabled){background:transparent}
.catalog-viewer button.catalog-viewer__hotspot:hover::before{border:2px solid #087e68}
.catalog-viewer button.catalog-viewer__hotspot--selected::before{inset:9px;border:2px solid #087e68;box-shadow:0 0 0 2px #ffffff8c}
.catalog-viewer button.catalog-viewer__hotspot:focus-visible{outline:3px solid #087e68;outline-offset:-3px;z-index:3}
.catalog-viewer__reference-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 0 10px;text-align:left}
.catalog-viewer__reference-text{min-width:0;flex:1}
.catalog-viewer__reference-heading{display:block;color:#eff9fb;font-size:14px;line-height:1.4}
.catalog-viewer__reference-names{display:flex;flex-direction:column;gap:3px;max-height:74px;overflow:auto;margin-top:4px;overflow-wrap:anywhere;line-height:1.4;user-select:text}
.catalog-viewer__view-parts{flex-shrink:0}
.catalog-viewer__reference-choice{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:4px 0 12px;text-align:left}
.catalog-viewer__choice-heading{flex:1 0 100%;font-size:14px;color:#eff9fb}
.catalog-viewer__choice-options{display:flex;flex-wrap:wrap;gap:8px;max-height:120px;overflow:auto}
.catalog-viewer__instructions{line-height:1.4}
@media(max-width:700px){.catalog-viewer{width:100vw;height:100vh;height:100dvh;border:0;border-radius:0}.catalog-viewer__header{padding:8px 10px;gap:10px}.catalog-viewer__title{font-size:14px}.catalog-viewer__toolbar{padding:8px 10px;gap:8px;justify-content:center}.catalog-viewer__navigation{width:100%;justify-content:center}.catalog-viewer__zoom-controls{margin-left:0;gap:6px}.catalog-viewer button{padding:8px 10px}.catalog-viewer__percent{width:52px}.catalog-viewer__footer{font-size:11px;padding:8px 10px;padding-bottom:max(8px,env(safe-area-inset-bottom))}}
@media(max-width:700px){.catalog-viewer__reference-summary{gap:8px}.catalog-viewer__reference-heading{font-size:13px}.catalog-viewer__reference-names{max-height:60px}.catalog-viewer__toggle-references{font-size:12px!important;min-height:40px!important}.catalog-viewer__choice-options{max-height:100px}}
@media(prefers-reduced-motion:reduce){.catalog-viewer *{scroll-behavior:auto}}
