:root{color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:#090b10;color:#fff;font:16px system-ui,sans-serif;overflow:hidden}#stage{position:fixed;inset:0;overflow:hidden}.photo{position:absolute;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .8s ease,transform .8s ease;transform:translateX(0)}.photo.active{opacity:1}#stage.slide .photo{transform:translateX(5%)}#stage.slide .photo.active{transform:translateX(0)}#stage.none .photo{transition:none}#status{position:fixed;top:20px;left:20px;right:20px;text-align:center;pointer-events:none}#caption{position:fixed;bottom:85px;left:20px;right:20px;text-align:center;text-shadow:0 2px 6px #000;overflow-wrap:anywhere}#controls{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;align-items:center;white-space:nowrap;transition:opacity .4s}body.idle #controls{opacity:0}button,#controls a{border:1px solid #ffffff55;background:#141923dd;color:white;border-radius:8px;padding:10px 13px;font:inherit;text-decoration:none;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #87bcff}body:has(:focus-visible) #controls{opacity:1}@media(max-width:600px){#controls{gap:4px}button,#controls a{padding:9px 7px;font-size:13px}}@media(prefers-reduced-motion:reduce){.photo{transition:none!important}}

#caption{white-space:pre-line;max-height:32vh;overflow:auto;background:transparent;padding:12px;text-shadow:0 1px 3px #000,0 2px 6px #000}
#caption:empty{display:none}
