/* Community pictures: full-screen viewer (js/41-previews.js cmLb*) */
html.cm-lb-open{ overflow:hidden; }
.cm-lb{ position:fixed; inset:0; z-index:1000; background:rgba(6,8,12,.94); display:flex; align-items:center; justify-content:center; animation:cm-lb-in .18s var(--ease, ease-out); touch-action:none; }
@keyframes cm-lb-in{ from{ opacity:0; } to{ opacity:1; } }
.cm-lb-stage{ position:absolute; inset:56px 64px 24px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.cm-lb-img{ max-width:100%; max-height:100%; object-fit:contain; user-select:none; transition:transform .18s var(--ease, ease-out), opacity .2s; cursor:zoom-in; border-radius:6px; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.cm-lb.zoomed .cm-lb-img{ cursor:grab; transition:none; max-width:none; max-height:none; }
.cm-lb.loading .cm-lb-img{ opacity:.55; }
.cm-lb-spin{ position:absolute; width:34px; height:34px; border-radius:50%; border:3px solid rgba(255,255,255,.18); border-top-color:#fff; animation:cm-spin .8s linear infinite; display:none; }
.cm-lb.loading .cm-lb-spin{ display:block; }
@keyframes cm-spin{ to{ transform:rotate(360deg); } }
.cm-lb-top{ position:absolute; top:0; left:0; right:0; height:56px; display:flex; align-items:center; gap:8px; padding:0 14px; color:#e8edf5; font-size:13px; background:linear-gradient(rgba(0,0,0,.5), transparent); }
.cm-lb-count{ font-family:'JetBrains Mono',monospace; opacity:.8; }
.cm-lb-cap{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:50vw; }
.cm-lb-top .cm-fill{ flex:1; }
.cm-lb-btn{ min-width:38px; height:38px; padding:0 10px; display:inline-flex; align-items:center; justify-content:center; gap:6px; border-radius:10px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.08); color:#fff; font-size:18px; text-decoration:none; cursor:pointer; transition:background .15s, transform .1s; }
.cm-lb-btn:hover{ background:rgba(255,255,255,.18); } .cm-lb-btn:active{ transform:scale(.96); }
.cm-lb-btn:focus-visible, .cm-lb-nav:focus-visible{ outline:2px solid var(--accent, #e6a93c); outline-offset:2px; }
.cm-lb-res{ font-size:12px; font-family:'JetBrains Mono',monospace; }
.cm-lb-btn .icon{ width:18px; height:18px; }
.cm-lb-nav{ position:absolute; top:50%; transform:translateY(-50%); width:48px; height:72px; border:0; border-radius:12px; background:rgba(255,255,255,.07); color:#fff; font-size:36px; line-height:1; cursor:pointer; transition:background .15s; }
.cm-lb-nav:hover{ background:rgba(255,255,255,.16); }
.cm-lb-nav.prev{ left:10px; } .cm-lb-nav.next{ right:10px; }
.cm-lb-nav[hidden]{ display:none; }
@media (max-width:640px){ .cm-lb-stage{ inset:56px 0 0; } .cm-lb-nav{ width:40px; height:56px; font-size:28px; } .cm-lb-res{ display:none; } }
@media (prefers-reduced-motion:reduce){ .cm-lb, .cm-lb-img{ animation:none; transition:none; } }
