html.lsg-menu-image-open, html.lsg-menu-image-open body { overflow:hidden; }
dialog.lsg-menu-lightbox {
 position:fixed; inset:0; width:calc(100% - 2rem); max-width:1500px;
 height:calc(100% - 2rem); height:calc(100dvh - 2rem); max-height:none;
 margin:auto; padding:0; border:1px solid var(--beige); border-radius:.5rem;
 background:var(--blue); color:var(--beige); overflow:hidden;
}
.lsg-menu-lightbox[open] { display:flex; flex-direction:column; }
.lsg-menu-lightbox::backdrop { background:#070e24e6; backdrop-filter:blur(5px); }
.lsg-menu-lightbox .lsg-menu-toolbar {
 display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1.5rem;
 flex:none; padding:.75rem 1rem; border-bottom:1px solid #e8d8c44d;
}
.lsg-menu-lightbox h2 { font-size:1.6rem; line-height:1.2; margin:0; padding:0; flex:1 1 auto; color:inherit; }
.lsg-menu-tools { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.lsg-menu-tools button, .lsg-menu-tools a {
 display:inline-flex; align-items:center; justify-content:center; gap:.25rem; min-width:44px; min-height:44px;
 padding:.5rem .75rem; border:1px solid var(--beige); border-radius:.2rem;
 color:var(--beige); background:transparent; font:inherit; font-size:1rem; line-height:1.2;
 text-decoration:none; cursor:pointer;
}
.lsg-menu-tools button:hover, .lsg-menu-tools a:hover { background:var(--beige); color:var(--blue); }
.lsg-menu-tools button:disabled { opacity:.5; cursor:default; }
.lsg-menu-tools output { min-width:4ch; text-align:center; font-variant-numeric:tabular-nums; }
.lsg-menu-lightbox :focus-visible { outline:3px solid var(--white); outline-offset:3px; box-shadow:0 0 0 3px var(--blue); }
.lsg-menu-lightbox .lsg-menu-help { margin:0; padding:.4rem 1rem .65rem; font-size:.875rem; line-height:1.4; flex:none; }
.lsg-menu-viewport { flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; touch-action:none; background:#0a1221; }
.lsg-menu-stage { display:flex; align-items:center; justify-content:center; min-width:100%; min-height:100%; width:max-content; }
.lsg-menu-canvas { position:relative; flex:none; }
.lsg-menu-canvas img { display:block; width:100%; height:100%; max-width:none; object-fit:contain; user-select:none; -webkit-user-drag:none; }
.lsg-menu-viewport[data-zoomed="true"] { cursor:grab; }
.lsg-menu-viewport.lsg-menu-dragging { cursor:grabbing; }
.lsg-menu-lightbox .lsg-menu-error { margin:auto; padding:1.5rem; font-size:1rem; }
[hidden].lsg-menu-error, [hidden].lsg-menu-canvas { display:none; }
@media(max-width:560px) {
 dialog.lsg-menu-lightbox { width:100%; height:100%; height:100dvh; border:0; border-radius:0; }
 .lsg-menu-lightbox .lsg-menu-toolbar { padding:.6rem; gap:.5rem; }
 .lsg-menu-lightbox h2 { flex-basis:100%; font-size:1.4rem; }
 .lsg-menu-tools { width:100%; gap:.35rem; }
 .lsg-menu-tools button, .lsg-menu-tools a { padding:.5rem; }
 .lsg-menu-tools [data-menu-close] { margin-left:auto; }
 .lsg-menu-lightbox .lsg-menu-help { padding:.25rem .6rem .6rem; }
}
@media(forced-colors:active) {
 .lsg-menu-lightbox :focus-visible { outline:3px solid Highlight; box-shadow:none; }
}
