/* Direct image exploration: centre opens at 2x; side controls change photographs. */
.gallery-main{position:relative}
.photo-zoom-hit{position:absolute;inset:0;z-index:1;cursor:zoom-in;width:100%;height:100%;border-radius:inherit}
.photo-zoom-hit:focus-visible{outline-offset:-5px}
.photo-side{position:absolute;top:0;bottom:0;width:15%;min-width:44px;z-index:2;display:flex;align-items:center;padding:0 12px;color:var(--ink);background:transparent}
.photo-side-prev{left:0;justify-content:flex-start}.photo-side-next{right:0;justify-content:flex-end}
.photo-side svg{width:34px;height:44px;padding:7px;background:#fffefbd9;border:1px solid #24292d20;border-radius:3px;opacity:0;transition:opacity 140ms ease}
.photo-side-prev svg,.detail-prev svg{transform:rotate(180deg)}
.photo-side:focus-visible svg,.gallery-main:hover .photo-side svg{opacity:1}
dialog[data-kind=zoom]{width:min(1400px,98vw);height:96dvh;max-height:96dvh;margin:auto;border-radius:4px;overflow:hidden}
dialog[data-kind=zoom] .panel-top{padding:12px 20px;min-height:64px}
dialog[data-kind=zoom] .panel-top h2{font-size:17px;line-height:1.4;max-width:calc(100% - 55px)}
dialog[data-kind=zoom] #panel-body{display:block;min-height:0;flex:1;padding:0 20px 16px;overflow:hidden}
.detail-viewer{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}
.detail-viewer-stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#f4f2ec}
.detail-viewport{position:absolute;inset:0;overflow:hidden;touch-action:pan-y;outline-offset:-4px}
.detail-viewport.is-zoomed{cursor:move;touch-action:none}
.detail-viewport img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;transform-origin:center;max-width:none;will-change:transform}
.detail-side{position:absolute;top:0;bottom:0;width:60px;min-height:44px;z-index:2;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--ink)}
.detail-prev{left:0}.detail-next{right:0}
.detail-side svg{background:#fffefbea;border:1px solid #24292d28;border-radius:3px;padding:10px;width:44px;height:48px}
.detail-toolbar{display:flex;align-items:center;gap:20px;padding:10px 0 2px;flex:none;font-size:12px;min-height:54px}
.detail-toolbar>span:first-child{min-width:55px;font-variant-numeric:tabular-nums}
.detail-fit{padding:10px 14px;min-height:44px;border:1px solid var(--line);border-radius:3px;font-size:12px;background:var(--paper)}
.detail-hint{margin-left:auto;color:var(--muted);text-align:right}
.detail-caption{font-size:11px;line-height:1.5;color:var(--muted);margin:4px 0 0;flex:none}
@media(hover:hover) and (pointer:fine){.photo-side:hover svg,.detail-side:hover svg{background:#fffefb;border-color:var(--ink)}}
@media(hover:none){.photo-side svg{opacity:1;width:32px;height:40px}.photo-side{padding:0 8px}}
@media(max-width:760px){dialog[data-kind=zoom]{width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}dialog[data-kind=zoom] .panel-top{padding:10px 14px}dialog[data-kind=zoom] #panel-body{padding:0 10px 12px}.detail-side{width:48px}.detail-side svg{width:36px;height:44px;padding:7px}.detail-toolbar{gap:10px;flex-wrap:wrap;padding-top:6px}.detail-hint{width:100%;text-align:left;margin:0;font-size:10px}.detail-caption{font-size:10px}.photo-side{width:16%}}
@media(prefers-reduced-motion:reduce){.photo-side svg{transition:none}}

.pilot-gallery .gallery-controls{justify-content:space-between;gap:16px;font-size:12px}.gallery-controls small{font-size:10px;color:var(--muted);text-align:right}

.native-zoom{width:min(1400px,98vw);height:96dvh;max-height:96dvh;padding:14px 20px;overflow:hidden}.native-zoom>[data-native-viewer-root]{height:calc(100% - 48px);min-height:0}.native-zoom>button{height:44px}.native-gallery .gallery-main .photo-zoom-hit{height:100%}@media(max-width:760px){.native-zoom{width:100%;height:100dvh;max-height:100dvh;padding:8px 10px;border-radius:0}}
