.photo-rail{margin:32px 0 52px;min-width:0;--rail-height:min(65vh,720px)}
.photo-rail-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;overflow-anchor:none;scroll-behavior:auto;position:relative;touch-action:pan-x pan-y pinch-zoom;cursor:grab}
.photo-rail-viewport::-webkit-scrollbar{display:none}
.photo-rail-viewport:active{cursor:grabbing}
.photo-rail-track,.photo-rail-set{display:flex;width:max-content;align-items:center}
.photo-rail-set{gap:20px;padding-right:20px}
.photo-rail .photo-rail-item{flex:none;width:min(calc(var(--rail-height) * var(--photo-ratio)),calc(100vw - 48px));height:var(--rail-height)}
.photo-rail .media{margin:0;width:100%;height:100%}
.photo-rail .media button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:inherit}
.photo-rail .media img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;user-select:none;-webkit-user-drag:none}
.photo-rail-controls{display:flex;align-items:center;gap:16px;margin-top:18px}
.photo-rail-controls button{flex:none;display:grid;place-items:center;background:transparent;border:1px solid var(--line,#ccc);color:var(--ink);width:44px;height:44px;font-size:24px;cursor:pointer}
.photo-rail-controls input{flex:1;min-width:0;accent-color:var(--ink);cursor:ew-resize;height:32px;margin:0}
.photo-rail-controls output{min-width:62px;font-size:12px;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}
.photo-rail button:focus-visible,.photo-rail input:focus-visible,.photo-rail-viewport:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.photo-rail-controls button:disabled{opacity:.3;cursor:default}
@media(max-width:760px){.photo-rail{--rail-height:min(62svh,620px);margin-top:24px}.photo-rail-set{gap:12px;padding-right:12px}.photo-rail-controls{gap:8px;margin-top:12px}.photo-rail-controls output{min-width:48px}}
.photo-rail .media figcaption{display:none}
