.lb-img,.lb-img-wrapper{touch-action:none;user-select:none}.lb-close,.lb-nav.lb-next{right:24px}.lb-caption,.lb-error,figcaption,h1{text-align:center}:root{--lb-bg:rgba(0,0,0,0.92);--lb-color:#fff;--lb-caption-bg:rgba(0,0,0,0.56);--lb-accent:#07f;--lb-btn-size:54px;--lb-btn-size-mobile:52px}body{font-family:system-ui,sans-serif;background:#f8f8fa;color:#232;margin:0}h1{margin:1.5em 0 .4em}.gallery{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin:0 auto;padding:2em 1em 3em;max-width:900px}figure{margin:0;padding:0;background:#fff;border-radius:10px;box-shadow:0 2px 12px #0001;display:flex;flex-direction:column;align-items:center}.lb-img-wrapper,.lb-overlay{align-items:center;display:flex}.gallery img{width:180px;height:120px;object-fit:cover;border-radius:8px 8px 0 0;cursor:zoom-in;border:0;display:block;transition:box-shadow .2s}.gallery img:focus,.gallery img:hover{box-shadow:0 8px 32px #07f4;outline:0}.lb-overlay{position:fixed;inset:0;background:var(--lb-bg);justify-content:center;z-index:10000;opacity:0;pointer-events:none;transition:opacity .2s,transform .27s cubic-bezier(.4,2,.3,1);transform:scale(.98)}.lb-overlay.lb-open{opacity:1;pointer-events:auto;transform:scale(1)}.lb-img-wrapper{position:relative;max-width:90vw;max-height:90vh;justify-content:center;flex-direction:column;outline:0;transition:transform .3s;overflow:hidden;background:0 0}.lb-img{max-width:100%;max-height:65vh;border-radius:12px;box-shadow:0 8px 40px rgba(0,0,0,.4);background:#222;margin-bottom:10px;transition:box-shadow .2s,transform .28s cubic-bezier(.4,2,.3,1);cursor:grab;will-change:transform;opacity:1;z-index:1}.lb-img:active{cursor:grabbing}.lb-img.zoomed{cursor:zoom-out}.lb-img.anim-fade{opacity:0;transition:opacity .22s}.lb-img.slide-left,.lb-img.slide-right{opacity:0;transition:none}.lb-img.slide-left-in,.lb-img.slide-right-in{opacity:1;transition:transform .3s cubic-bezier(.5,1.5,.6,1),opacity .2s}.lb-img.slide-left{transform:translateX(-40vw) scale(.98)}.lb-img.slide-left-in,.lb-img.slide-right-in{transform:translateX(0)}.lb-img.slide-right{transform:translateX(40vw) scale(.98)}.lb-close,.lb-fullscreen,.lb-nav{position:absolute;background:var(--lb-caption-bg);color:var(--lb-color);border:none;border-radius:50%;width:var(--lb-btn-size);height:var(--lb-btn-size);font-size:1.8em;cursor:pointer;z-index:20;box-shadow:0 2px 14px #0005;display:flex;align-items:center;justify-content:center;opacity:.93;transition:background .2s,box-shadow .2s;backdrop-filter:blur(3.5px);outline:0;touch-action:manipulation}.lb-close,.lb-fullscreen{top:24px;width:46px;height:46px}.lb-fullscreen svg,.lb-nav svg{display:block;margin:auto;width:30px;height:30px;pointer-events:none}.lb-nav.lb-next,.lb-nav.lb-prev{top:50%;transform:translateY(-50%)}.lb-nav.lb-prev{left:24px}.lb-close{font-size:2.1em;z-index:25}.lb-fullscreen{right:82px;font-size:1.2em;z-index:24}.lb-close:hover,.lb-fullscreen:hover,.lb-nav:hover{background:var(--lb-accent);box-shadow:0 4px 24px #07f4}.lb-caption,.lb-caption.expanded,.lb-caption.truncated{background:var(--lb-caption-bg)}.lb-caption{color:var(--lb-color);padding:.7em 1.5em;border-radius:0 0 12px 12px;margin-top:5px;font-size:1.1em;min-height:1.5em;max-width:90vw;word-break:break-word;transition:max-height .2s,background .2s}.lb-caption.truncated{max-height:2.2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:max-height .25s cubic-bezier(.5,1.5,.6,1)}.lb-caption.expanded{max-height:10em;white-space:normal;cursor:pointer}@media (max-width:600px){.lb-nav.lb-next,.lb-nav.lb-prev{top:auto;bottom:24px;transform:none}.gallery img{width:45vw;height:23vw}.lb-img-wrapper{max-width:99vw;max-height:95vh}.lb-close,.lb-fullscreen,.lb-nav{width:var(--lb-btn-size-mobile);height:var(--lb-btn-size-mobile)}.lb-nav.lb-prev{left:8px}.lb-nav.lb-next{right:8px}.lb-close{top:12px;right:12px}.lb-fullscreen{top:12px;right:62px}.lb-img{max-height:50vh}.lb-caption.truncated{max-width:97vw;padding-right:2em}}.lb-progress{display:block;font-size:.95em;opacity:.8;margin-bottom:3px;color:#eaf;user-select:none}.lb-error{color:#fff;background:#d55;border-radius:6px;padding:1em 2em;position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);font-size:1.2em;z-index:4;box-shadow:0 2px 16px #0006}
