.thread-photo-trigger { cursor:zoom-in; }
.thread-photo-trigger:focus-visible { outline:3px solid var(--accent,#75a7d8); outline-offset:4px; }
.thread-photo-viewer { position:fixed; inset:0; width:100vw; max-width:none; height:100vh; height:100dvh; max-height:none; margin:0; border:0; padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); box-sizing:border-box; background:rgba(5,10,18,.97); color:#f4f7fc; }
.thread-photo-viewer::backdrop { background:rgba(0,0,0,.8); }
.thread-photo-viewer[open] { display:flex; flex-direction:column; gap:10px; }
.thread-photo-viewer-bar { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-shrink:0; }
.thread-photo-viewer-bar p { margin:0; font-size:.92rem; }
.thread-photo-viewer button { display:inline-flex; align-items:center; justify-content:center; min-width:48px; min-height:48px; border:1px solid #738195; border-radius:12px; background:#152235; color:#fff; cursor:pointer; font:inherit; }
.thread-photo-viewer button:focus-visible { outline:3px solid #8bc3ff; outline-offset:3px; }
.thread-photo-viewer button:hover { background:#2b425e; }
.thread-photo-viewer button[hidden],.thread-photo-viewer [hidden] { display:none!important; }
.thread-photo-viewer-stage { flex:1; min-height:0; position:relative; display:flex; align-items:center; justify-content:center; margin:0; padding:0 58px; }
.thread-photo-viewer-stage img { width:100%; height:100%; max-height:100%; min-height:0; object-fit:contain; touch-action:pinch-zoom; }
.thread-photo-viewer-status { position:absolute; inset:45% 65px auto; text-align:center; pointer-events:none; font-size:.9rem; }
.thread-photo-viewer-arrow { position:absolute; top:50%; transform:translateY(-50%); font-size:2rem!important; z-index:1; }
.thread-photo-viewer-previous { left:0; }
.thread-photo-viewer-next { right:0; }
.thread-photo-viewer-footer { flex-shrink:0; text-align:center; font-size:.85rem; color:#c9d5e5; max-height:20vh; overflow:auto; }
.thread-photo-viewer-footer p { margin:4px 0; overflow-wrap:anywhere; }
@media(max-width:600px) { .thread-photo-viewer-stage { padding:0; } .thread-photo-viewer-arrow { top:auto; bottom:12px; transform:none; opacity:.9; } .thread-photo-viewer-help { display:none; } }
