/* 咸鱼 2026-11-02：看大图（行为见 xy/37-viewer.js）。后台和 price.html 共用，只用自己的颜色，不依赖后台变量。 */
html.xz-lock, html.xz-lock body { overflow: hidden; }
[data-zoom] { cursor: zoom-in; }
.xz { position: fixed; inset: 0; z-index: 1000; overflow: hidden; touch-action: none; -webkit-user-select: none; user-select: none; outline: none;
  background: rgba(6, 4, 8, 0); transition: background .28s ease; }
.xz.is-on { background: rgba(6, 4, 8, .94); }
.xz > img { position: absolute; left: 0; top: 0; max-width: none; transform-origin: 0 0; cursor: grab; -webkit-touch-callout: default; } /* 微信里长按还能识别二维码 */
.xz > img:active { cursor: grabbing; }
.xz.is-anim > img { transition: transform .32s cubic-bezier(.22, 1, .36, 1), opacity .24s ease; }
.xz-bar { position: absolute; left: 50%; bottom: calc(22px + env(safe-area-inset-bottom)); display: flex; gap: 6px; padding: 5px; translate: -50% 0; border-radius: 999px;
  background: rgba(30, 24, 32, .72); -webkit-backdrop-filter: blur(16px) saturate(1.4); backdrop-filter: blur(16px) saturate(1.4); box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .18), 0 10px 30px -10px rgba(0, 0, 0, .7);
  opacity: 0; transition: opacity .28s ease; }
.xz.is-on .xz-bar { opacity: 1; }
.xz-bar button { all: unset; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: #f6eef2; cursor: pointer; }
.xz-bar button:hover { background: rgba(255, 255, 255, .12); }
.xz-bar button:focus-visible { box-shadow: 0 0 0 2px #f4b3cf; }
@media (prefers-reduced-motion: reduce) { .xz, .xz.is-anim > img, .xz-bar { transition: none; } }
