/* Reboot Museum – fullscreen photo slideshow (js/lightbox.js). Structure only; the host design sets the colours:
   --lb-bg (backdrop, dark), --lb-fg (text/icons), --lb-btn (button fill), --lb-btn-fg, --lb-accent (focus ring), --lb-font, --lb-font-2.
   HARD RULE: nothing here may tint or cover the device image – no filter, mix-blend-mode, opacity, mask, backdrop-filter or
   transform on .lb-img or its ancestors (.lb-frame, .lb-fig, .lb-stage, dialog.lb). Only the .ai-tag label sits in a corner. */
dialog.lb{--_bg:var(--lb-bg,#15102B);--_fg:var(--lb-fg,#FFFFFF);--_btn:var(--lb-btn,#FFFFFF);--_bfg:var(--lb-btn-fg,#15102B);--_acc:var(--lb-accent,#FFD23F);
  position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;
  background:var(--_bg);color:var(--_fg);box-shadow:none;display:none;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;
  font-family:var(--lb-font,inherit);opacity:1;filter:none;transform:none}
dialog.lb[open]{display:grid}
dialog.lb::backdrop{background:var(--lb-bg,#15102B)}
html.lb-lock,html.lb-lock body{overflow:hidden}
.lb-top{display:flex;align-items:center;gap:16px;padding:calc(12px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}
.lb-title{margin:0;flex:1;min-width:0;font:700 clamp(16px,2.2vw,22px)/1.2 var(--lb-font-2,inherit);color:var(--_fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-count{font:600 15px/1 var(--lb-font-mono,ui-monospace,monospace);letter-spacing:.04em;white-space:nowrap}
.lb-btn{display:inline-grid;place-items:center;width:48px;height:48px;flex:none;border-radius:999px;border:0;background:var(--_btn);color:var(--_bfg);cursor:pointer;padding:0}
.lb-btn svg{width:24px;height:24px}
.lb-btn:focus-visible,.lb-pill:focus-visible{outline:3px solid var(--_acc);outline-offset:3px}
.lb-btn[disabled]{visibility:hidden}
.lb-stage{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));min-height:0;touch-action:pan-y}
.lb-fig,.lb-more{grid-column:2;grid-row:1;margin:0;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.lb-fig[hidden],.lb-more[hidden],.lb-nav[hidden]{display:none}
.lb-prev{grid-column:1;grid-row:1}.lb-next{grid-column:3;grid-row:1}
.lb-frame{position:relative;display:inline-block;max-width:100%;min-height:0;line-height:0}
.lb-img{display:block;max-width:100%;max-height:calc(100dvh - 190px - env(safe-area-inset-top) - env(safe-area-inset-bottom));width:auto;height:auto;object-fit:contain;border-radius:6px;user-select:none;-webkit-user-drag:none}
.lb-frame .lb-ai{position:absolute;top:8px;inset-inline-end:8px;bottom:auto;inset-inline-start:auto;line-height:1}
.lb-ai[hidden]{display:none}
.lb-cap{font-size:16px;line-height:1.35;text-align:center;color:var(--_fg)}
.lb-credit{opacity:.85}
.lb-hint{margin:0;padding:6px 16px calc(14px + env(safe-area-inset-bottom));text-align:center;font-size:14px;color:var(--_fg)}
.lb-more{text-align:center;max-width:520px;justify-self:center;padding:0 8px}
.lb-more h3{margin:0;font:700 clamp(22px,3vw,30px)/1.15 var(--lb-font-2,inherit);color:var(--_fg)}
.lb-more p{margin:0;font-size:17px;line-height:1.45}
.lb-more-art{min-height:0}
.lb-pill{min-height:48px;padding:0 22px;border-radius:999px;border:0;background:var(--_btn);color:var(--_bfg);font:700 16px/1 inherit;cursor:pointer}
@media (max-width:599px){
  .lb-stage{grid-template-columns:minmax(0,1fr);padding-inline:max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-right))}
  .lb-fig,.lb-more{grid-column:1}
  .lb-nav{position:absolute;bottom:-58px;z-index:1}               /* phone: arrows sit in the bottom bar, never over the photo */
  .lb-prev{inset-inline-start:16px}.lb-next{inset-inline-end:16px}
  .lb-hint{padding-inline:76px;min-height:62px;display:flex;align-items:center;justify-content:center}
  .lb-img{max-height:calc(100dvh - 210px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:no-preference){.lb-btn{transition:background .12s}}
