.viewer-surface{touch-action:none;overflow:hidden;user-select:none;-webkit-user-select:none;position:relative;overscroll-behavior:contain}
.viewer-surface img{-webkit-user-drag:none;user-select:none;pointer-events:none}
.viewer-tools{display:flex;justify-content:center;align-items:center;gap:8px;position:relative;z-index:10;flex-wrap:wrap;padding:10px 0;color:inherit}
.viewer-tools button{min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #8297ab50;border-radius:999px;background:#7a91a31c;color:inherit;font:inherit;font-size:15px;cursor:pointer;touch-action:manipulation}
.viewer-tools small{width:100%;font-size:11px;opacity:.65;text-align:center}
.viewer-tools button:active{transform:scale(.94);background:#7a91a335}
#lightbox[open]{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden;padding:calc(72px + env(safe-area-inset-top)) 24px calc(12px + env(safe-area-inset-bottom));gap:10px}
#lightbox .lightbox-image{flex:1;min-height:0;width:100%;height:auto;display:flex;align-items:center;justify-content:center}
#lightbox .lightbox-image>img{width:100%;height:100%;max-height:100%;object-fit:contain}
#lightbox .lightbox-close{position:absolute;top:calc(12px + env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));min-width:64px;min-height:44px;z-index:15;font-size:15px}
#lightbox .lightbox-caption{position:static;flex:0 0 auto;min-height:20px;font-size:13px;padding:0;max-width:100%;text-wrap:pretty}
#asset-preview{overflow:hidden!important}#asset-preview header{position:relative;z-index:10}#asset-preview #close-preview{min-width:44px;min-height:44px}
#asset-preview .asset-preview-surface{height:min(62dvh,620px);display:flex;align-items:center;justify-content:center}#asset-preview .asset-preview-surface>img{height:100%;width:100%;object-fit:contain}
@media(max-height:500px){#lightbox[open]{padding-top:55px;display:grid;grid-template-columns:1fr 130px;grid-template-rows:1fr auto;gap:8px 20px}#lightbox .lightbox-image{height:100%;grid-column:1;grid-row:1/3}#lightbox .viewer-tools{grid-column:2;grid-row:1;gap:5px}#lightbox .lightbox-caption{grid-column:2;grid-row:2;font-size:11px}}
body:has(>dialog[open]){overflow:hidden}
#page-zoom .zoom-scroll{display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;height:min(67dvh,900px);min-height:180px}
#page-zoom .zoom-scroll>.studio-sheet{min-width:0;width:100%;flex-shrink:0;max-height:100%;aspect-ratio:16/9}
#page-zoom .zoom-toolbar{min-height:60px;padding-right:100px}#page-zoom #close-zoom{min-height:44px;z-index:20}
