.photo-zoomable{cursor:zoom-in;touch-action:manipulation}
.photo-zoomable:focus-visible{outline:3px solid #6fa78a;outline-offset:3px}
#photo-viewer{position:fixed;inset:0;box-sizing:border-box;width:96vw;height:94vh;height:94dvh;max-width:1600px;max-height:none;margin:auto;padding:0;border:1px solid #61716c;border-radius:16px;background:#18221f;color:#fff;overflow:hidden;box-shadow:0 20px 80px #0008;z-index:10000;font:14px/1.5 system-ui,sans-serif}
#photo-viewer:not([open]){display:none}
#photo-viewer[open]{display:flex;flex-direction:column}
#photo-viewer::backdrop{background:#071410d9}
#photo-viewer .photo-viewer-toolbar,#photo-viewer .photo-viewer-footer{display:flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;padding:12px 16px;background:#24332d;color:#fff}
#photo-viewer .photo-viewer-toolbar{flex-wrap:wrap;border-bottom:1px solid #41564b}
#photo-viewer .photo-viewer-toolbar strong{font-size:16px;margin-right:auto}
#photo-viewer .photo-viewer-count{min-width:44px;text-align:center}
#photo-viewer button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:40px;margin:0;padding:8px 12px;border:1px solid #84968b;border-radius:8px;background:#31483c;color:#fff;font:inherit;white-space:nowrap;cursor:pointer;box-shadow:none}
#photo-viewer button:hover{background:#45614f}
#photo-viewer button:focus-visible,#photo-viewer .photo-viewer-stage:focus-visible{outline:3px solid #d0ecb8;outline-offset:-3px}
#photo-viewer button:disabled{opacity:.4;cursor:default}
#photo-viewer .photo-viewer-stage{position:relative;flex:1;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#photo-viewer .photo-viewer-frame{position:relative;min-width:100%;min-height:100%}
#photo-viewer .photo-viewer-frame img{position:absolute;top:50%;left:50%;display:block;max-width:none;max-height:none;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;object-fit:contain;background:#fff;cursor:default}
#photo-viewer .photo-viewer-frame img[hidden]{display:none}
#photo-viewer .photo-viewer-message{flex:1;text-align:center;font-size:12px;color:#d9e5de}
@media(max-width:600px){#photo-viewer{width:100vw;height:100vh;height:100dvh;border:0;border-radius:0}#photo-viewer .photo-viewer-toolbar{gap:7px;padding:10px 10px;padding-top:max(10px,env(safe-area-inset-top))}#photo-viewer .photo-viewer-toolbar strong{font-size:14px}#photo-viewer button{font-size:12px;min-height:40px;padding:8px 10px}#photo-viewer .photo-viewer-footer{padding:10px 8px;padding-bottom:max(10px,env(safe-area-inset-bottom));gap:6px}#photo-viewer .photo-viewer-message{font-size:11px}}
@media(max-width:600px){#photo-viewer .photo-viewer-toolbar{display:grid;grid-template-columns:repeat(4,1fr)}#photo-viewer .photo-viewer-toolbar strong{grid-area:1/1/2/3;margin:0}#photo-viewer .photo-viewer-count{grid-area:1/3}#photo-viewer [data-photo="close"]{grid-area:1/4}#photo-viewer [data-photo="out"]{grid-area:2/1}#photo-viewer [data-photo="in"]{grid-area:2/2}#photo-viewer [data-photo="fit"]{grid-area:2/3}#photo-viewer [data-photo="rotate"]{grid-area:2/4}}
