#photo-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:12px;width:min(1280px,calc(100% - 32px));height:min(920px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);padding:18px;background:#f5f8f2;color:#17231a;border:1px solid #d4dfcf;border-radius:12px}
#photo-dialog::backdrop{background:#07120de8;backdrop-filter:blur(8px)}
#photo-dialog .lightbox-bar{min-height:48px;padding:0 0 4px;gap:18px;font-size:13px;font-weight:600}
#photo-dialog .lightbox-bar>span{line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#photo-dialog .lightbox-bar>div{gap:7px;flex-shrink:0}
#photo-dialog .icon-btn{width:44px;height:44px;border:1px solid #d5dfcf;border-radius:6px;background:#fff;flex-shrink:0}
#photo-dialog .icon-btn:hover{background:#fff6ba;border-color:#b5a636}
#photo-dialog #zoom-toggle[aria-pressed=true]{background:#ffdb00;border-color:#b3a132}
#photo-dialog .lightbox-stage,#photo-dialog .lightbox-stage.expanded{display:flex;align-items:center;justify-content:center;height:auto;min-height:0;width:100%;overflow:hidden;background:#fff;border:1px solid #e1e7dc;border-radius:8px;isolation:isolate}
#photo-dialog .lightbox-stage>img,#photo-dialog .lightbox-stage.expanded>img{display:block;width:100%;height:100%;max-width:100%;min-height:0;object-fit:contain;transform:translate(var(--photo-x,0px),var(--photo-y,0px)) scale(var(--photo-scale,1));transform-origin:center;transition:opacity .18s;user-select:none;-webkit-user-drag:none;will-change:transform}
#photo-dialog .lightbox-stage.expanded{touch-action:none;cursor:grab}
#photo-dialog .lightbox-stage.is-dragging{cursor:grabbing}
#photo-dialog .lightbox-controls{gap:16px;min-height:44px;font-size:12px;font-weight:600}
#photo-dialog #lightbox-counter{min-width:60px;text-align:center;font-variant-numeric:tabular-nums}
.viewer-footer{min-width:0;border-top:1px solid #dce5d7;padding-top:10px}
.lightbox-thumbnails{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9cae94 transparent;padding:3px 3px 7px;scroll-padding-inline:3px;max-width:100%}
.viewer-thumbnail{position:relative;flex:0 0 80px;height:64px;padding:4px;border:2px solid #d7e0d2;border-radius:6px;background:#fff;overflow:hidden;cursor:pointer}
.viewer-thumbnail img{width:100%;height:100%;object-fit:contain}
.viewer-thumbnail>span{position:absolute;bottom:3px;right:3px;padding:2px 4px;min-width:17px;background:#1d3529;color:#fff;border-radius:3px;font-size:9px;line-height:1.1}
.viewer-thumbnail[aria-pressed=true]{border-color:#937d00;box-shadow:0 0 0 2px #ffdb00;background:#fffcdf}
#photo-dialog :focus-visible{outline:2px solid #286442;outline-offset:2px}
#lightbox-hint{font-size:11px;line-height:1.4;text-align:center;color:#475843;margin:7px 0 0;min-height:16px}
@media(max-width:520px){#photo-dialog[open]{width:calc(100% - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);padding:10px;gap:8px;border-radius:9px}#photo-dialog .lightbox-bar{font-size:11px;gap:8px;min-height:52px}#photo-dialog .lightbox-bar>div{gap:5px}.viewer-thumbnail{flex-basis:64px;height:56px}.lightbox-thumbnails{gap:7px}#lightbox-hint{font-size:10px;min-height:28px;margin-top:5px}.viewer-footer{padding-top:6px}}
@media(prefers-reduced-motion:reduce){#photo-dialog .lightbox-stage>img{transition:none}#photo-dialog::backdrop{backdrop-filter:none}}
