.btl-image-dialog { padding: 0; border: 0; width: 96vw; max-width: 1500px; height: 94dvh; max-height: 94dvh; background: #111; color: #fff; }
.btl-image-dialog[open], .btl-viewer-page { display: flex; flex-direction: column; }
.btl-image-dialog::backdrop { background: rgb(0 0 0 / .88); }
.btl-viewer-page { margin: 0; height: 100dvh; background: #111; color: #fff; font-family: Arial, sans-serif; overflow: hidden; }
.btl-viewer-toolbar { display: flex; flex: 0 0 auto; align-items: center; flex-wrap: wrap; gap: 4px 20px; padding: max(8px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left)); background: #181818; color: white; z-index: 1; }
.btl-viewer-toolbar a, .btl-viewer-toolbar button { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; color: #fff; background: transparent; font: 16px/1.4 Arial, sans-serif; text-decoration: none; cursor: pointer; }
.btl-viewer-toolbar [hidden] { display: none; }
.btl-viewer-toolbar :focus-visible { outline: 2px solid #e0d2b8; outline-offset: 3px; }
.btl-image-dialog .btl-image-stage, .btl-viewer-page .btl-image-stage { flex: 1; min-height: 0; min-width: 0; width: 100%; max-width: none; margin: 0; padding: 12px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; overflow: auto; }
.btl-image-stage img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.btl-image-stage img[hidden] { display: none; }
.btl-viewer-page .btl-image-stage img { cursor: zoom-in; }
.btl-viewer-page .btl-native-size { display: block; }
.btl-viewer-page .btl-native-size img { max-width: none; max-height: none; cursor: zoom-out; }
