.photo-viewer{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--fg);overflow:hidden;overscroll-behavior:contain}
.photo-viewer:not([open]){display:none}.photo-viewer::backdrop{background:#10151b78;-webkit-backdrop-filter:blur(32px) saturate(.8);backdrop-filter:blur(32px) saturate(.8);animation:photo-veil-in 280ms ease both}
[data-theme=light] .photo-viewer::backdrop{background:#e5eaf180}.photo-viewer.is-closing::backdrop{animation:photo-veil-out 170ms ease both}
@keyframes photo-veil-in{from{opacity:0}to{opacity:1}}@keyframes photo-veil-out{to{opacity:0}}
.photo-toolbar{position:absolute;top:max(22px,env(safe-area-inset-top));left:max(26px,env(safe-area-inset-left));right:max(26px,env(safe-area-inset-right));display:flex;align-items:center;gap:12px;z-index:4;pointer-events:none}
.photo-info,.photo-actions,.photo-close,.photo-pager{pointer-events:auto;border:1px solid var(--line);border-radius:999px;--frost-blur:22px}.photo-info{padding:12px 20px;max-width:min(45vw,600px);min-width:0;display:flex;align-items:center;gap:15px}.photo-info strong{font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.photo-info>span{font-size:10px;color:var(--muted);white-space:nowrap}.photo-actions{display:flex;padding:4px;margin-left:auto}.photo-actions button,.photo-actions a,.photo-close,.photo-pager button{display:inline-grid;place-items:center;flex-shrink:0;width:42px;height:42px;color:var(--fg);border-radius:50%;padding:0;background:none;transition:transform 230ms var(--move-ease),background 230ms;touch-action:manipulation}.photo-actions button:hover,.photo-actions a:hover,.photo-pager button:hover{background:#ffffff18}.photo-actions button:active,.photo-actions a:active,.photo-close:active,.photo-pager button:active{transform:scale(.9)}.photo-actions button[data-photo-action=reset]{width:53px;border-radius:999px;font-size:10px}.photo-actions .ui-icon,.photo-pager .ui-icon,.photo-close .ui-icon{width:20px;height:20px}.photo-close{width:51px;height:51px;background:var(--frost-tint)}
.photo-canvas{position:absolute;inset:96px 30px 100px;display:flex;justify-content:center;align-items:center;touch-action:none;user-select:none;overflow:hidden;border-radius:22px}.photo-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:19px;box-shadow:0 25px 90px #0004;transform-origin:center;user-select:none;-webkit-user-drag:none;cursor:zoom-in;will-change:auto}.photo-canvas.is-zoomed .photo-image{cursor:grab}.photo-canvas.is-dragging .photo-image{cursor:grabbing}.photo-status{position:absolute;text-align:center;max-width:340px;padding:25px;font-size:12px;color:var(--fg);line-height:1.8;pointer-events:none}.photo-status[hidden]{display:none}.photo-pager{position:absolute;bottom:max(39px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:4px;display:flex;align-items:center;gap:12px;z-index:4}.photo-pager[hidden]{display:none}.photo-pager>span{min-width:45px;text-align:center;font-size:11px;color:var(--muted)}.photo-hint{position:absolute;bottom:max(13px,env(safe-area-inset-bottom));left:20px;right:20px;text-align:center;font-size:9px;color:var(--muted);pointer-events:none}.photo-viewer [data-photo-action]:focus-visible,.photo-viewer a:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
@media(max-width:760px){.photo-toolbar{top:max(15px,env(safe-area-inset-top));left:15px;right:15px;gap:9px;flex-wrap:wrap}.photo-info{order:0;max-width:calc(100% - 59px);flex:1 1 calc(100% - 59px);min-height:47px;padding:10px 16px}.photo-info strong{font-size:10px}.photo-info>span{font-size:9px}.photo-close{order:1;width:47px;height:47px}.photo-actions{order:2;flex:0 0 auto;margin:3px auto 0;max-width:100%}.photo-actions button,.photo-actions a{width:39px;height:39px}.photo-actions button[data-photo-action=reset]{width:49px}.photo-canvas{inset:137px 16px 104px;border-radius:17px}.photo-image{border-radius:15px}.photo-pager{bottom:max(42px,env(safe-area-inset-bottom));gap:7px}.photo-pager button{width:39px;height:39px}.photo-hint{font-size:8px;bottom:max(16px,env(safe-area-inset-bottom));line-height:1.6}.photo-viewer::backdrop{-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px)}}
@media(max-height:540px) and (min-width:600px){.photo-toolbar{top:12px;left:17px;right:17px}.photo-info{max-width:40vw}.photo-canvas{inset:75px 26px 72px}.photo-pager{bottom:18px}.photo-hint{display:none}}
@media(prefers-reduced-motion:reduce){.photo-viewer::backdrop{animation:none!important}.photo-viewer button,.photo-viewer a{transition:none!important}}
html[data-motion=off] .photo-viewer::backdrop{animation:none!important}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.photo-viewer::backdrop{background:#151a22f5}[data-theme=light] .photo-viewer::backdrop{background:#edf1f7f5}}
@media(prefers-reduced-transparency:reduce){.photo-viewer::backdrop{background:#151a22f5;-webkit-backdrop-filter:none;backdrop-filter:none}[data-theme=light] .photo-viewer::backdrop{background:#edf1f7f5}}
.download-photo{display:block;padding:0;width:100%;background:none;cursor:zoom-in;border-radius:inherit}.download-photo img{width:100%;height:auto}.download-photo:focus-visible{outline:2px solid var(--fg);outline-offset:4px}.release-screenshot-link{cursor:zoom-in;text-align:left}
