.sh-stage{position:relative}
.sh-stage:focus-visible{outline:2px solid var(--app-brand);outline-offset:-2px}
.sh-stage--scroll{display:block;text-align:center;scrollbar-gutter:stable}
.sh-stage--bar{padding-bottom:70px}
.sh-stage--scroll img{display:inline-block;vertical-align:top}
.sh-zoom-in img{cursor:zoom-in}
.sh-zoom-out img{cursor:zoom-out}
.sh-grabbing,.sh-grabbing img{cursor:grabbing;user-select:none}
.sh-zoombar{position:fixed;left:50%;bottom:54px;transform:translateX(-50%);z-index:15;display:flex;align-items:center;gap:2px;padding:4px;background:var(--app-surface);border:1px solid var(--app-border-strong);border-radius:12px;box-shadow:0 16px 38px -16px rgba(0,0,0,.5)}
.sh-zoombar button{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:32px;padding:0 11px;border:0;border-radius:8px;background:transparent;color:var(--app-text-secondary);font:600 12.5px/1 var(--font-body);font-variant-numeric:tabular-nums;cursor:pointer;transition:background .15s,color .15s}
.sh-zoombar button:hover,.sh-zoombar button[aria-pressed="true"]{color:var(--app-brand);background:var(--app-brand-soft)}
.sh-zoombar button:focus-visible{outline:2px solid var(--app-brand);outline-offset:1px}
.sh-zoombar svg{width:16px;height:16px;display:block}
.sh-zoombar-sep{width:1px;height:18px;margin:0 3px;background:var(--app-border)}
.sh-lens{position:fixed;z-index:16;width:200px;height:200px;border-radius:50%;overflow:hidden;pointer-events:none;background:var(--app-surface-alt);border:3px solid var(--app-surface);box-shadow:0 0 0 1px var(--app-border-strong),0 18px 44px -12px rgba(0,0,0,.55)}
@media(max-width:640px){.sh-stage--bar{padding-bottom:62px}.sh-zoombar{bottom:48px}.sh-zoombar button{min-width:42px;padding:0 9px}}
@media(prefers-reduced-motion:reduce){.sh-zoombar button{transition:none}}
.sh-lens canvas{display:block;width:100%;height:100%}
