.photo-enlarge{padding:0;overflow:hidden;border:1px solid var(--line,#ddd);border-radius:10px;background:#f5f5f2;color:#173b2e;cursor:zoom-in;text-align:center}.photo-enlarge,.photo-enlarge img{display:block;width:100%}.photo-enlarge>span{display:block;padding:8px;font-size:14px;font-weight:600;text-decoration:underline}.photo-enlarge:focus-visible{outline:3px solid #bb8a20;outline-offset:3px}dialog.photo-viewer{box-sizing:border-box;position:fixed;inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#111;color:#fff;overflow:hidden}dialog.photo-viewer[open]{display:flex;flex-direction:column}.photo-viewer::backdrop{background:#111}.photo-viewer footer,.photo-viewer header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:10px 14px;flex-shrink:0}.photo-viewer header>span{margin-right:auto}.photo-viewer button{min-height:44px;padding:8px 14px;border:1px solid #aaa;border-radius:8px;background:#242424;color:white;font-size:16px;cursor:pointer}.photo-viewer button:focus-visible{outline:3px solid #e4bd60;outline-offset:2px}.photo-viewer-stage{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;display:flex;align-items:center;justify-content:center}.photo-viewer-stage>img{width:100%;height:100%;object-fit:contain;max-width:none;max-height:none}.photo-viewer-stage.is-zoomed{display:block}.photo-viewer-stage.is-zoomed>img{width:200%;height:200%;object-fit:contain}.photo-viewer footer>span{font-size:12px;color:#ccc}@media(max-width:480px){.photo-viewer footer>span{order:3;width:100%;text-align:center}}