.lb{position:fixed;inset:0;z-index:30;background:#000;color:#fff;display:none;flex-direction:column;overscroll-behavior:contain}
.lb.on{display:flex}
.lb .lb-top{display:flex;align-items:center;justify-content:space-between;flex:none;padding:env(safe-area-inset-top) 12px 0;min-height:48px}
.lb button{min-width:44px;min-height:44px;color:#fff;border-radius:8px;touch-action:manipulation}
.lb button:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.lb button:disabled{opacity:.35;cursor:default}
.lb #lbClose{padding:0 10px}
.lb .stage{position:relative;min-height:0;flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center}
.lb .stage.photo{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.lb .stage.zoomed{cursor:grab}
.lb .stage.zoomed:active{cursor:grabbing}
.lb .stage img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;object-fit:contain;transform-origin:center;pointer-events:none;user-select:none}
.lb .stage video{max-width:100%;max-height:100%;object-fit:contain;touch-action:auto}
.lb .lb-tools{display:flex;flex:none;justify-content:center;align-items:center;gap:4px;padding:4px 8px}
.lb .lb-tools[hidden],.lb [hidden]{display:none!important}
.lb .lb-tools button{background:#252525;padding:0 10px}
.lb #lbZoom{min-width:44px;text-align:center;font-variant-numeric:tabular-nums;font-size:13px}
.lb #lbHint{flex:none;margin:0;padding:0 10px calc(8px + env(safe-area-inset-bottom));font-size:12px;line-height:1.25;text-align:center;color:#bbb}
.lb .nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.4);color:#fff;font-size:28px;z-index:1}
.lb .prev{left:4px}.lb .next{right:4px}
.lb .lb-error{text-align:center;padding:24px;color:#ddd}
@media(max-height:420px){.lb #lbHint{display:none}.lb .lb-top{min-height:44px}.lb .lb-tools{padding:0 8px calc(2px + env(safe-area-inset-bottom))}}
