.photo-dialog{position:fixed;inset:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:#10110ff7;color:#efeee7;overflow:hidden;z-index:100}.photo-dialog::backdrop{background:#10110f}.photo-dialog[open]{display:block}.photo-dialog button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:1px solid #ffffff35;border-radius:50%;background:#171914ed;color:inherit;cursor:pointer;flex:none}.photo-dialog button:hover{background:#34372c}.photo-dialog button:disabled{opacity:.25;cursor:default}.photo-dialog .icon{width:20px;height:20px}.photo-toolbar{position:absolute;top:max(16px,env(safe-area-inset-top));left:20px;right:20px;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:16px}.photo-count{min-width:60px;font-size:13px;font-variant-numeric:tabular-nums}.photo-zoom{display:flex;align-items:center;gap:10px}.photo-zoom input{width:140px;accent-color:#c8b697}.photo-zoom [data-photo-reset]{width:65px;border-radius:24px;font-size:12px;font-variant-numeric:tabular-nums}.photo-stage{position:absolute;inset:80px 76px 60px;overflow:hidden;touch-action:none;cursor:grab;user-select:none}.photo-stage:active{cursor:grabbing}.photo-stage .photo-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:center;will-change:transform;user-select:none;pointer-events:none}.photo-prev,.photo-next{position:absolute;z-index:3;top:50%;transform:translateY(-50%)}.photo-prev{left:16px}.photo-next{right:16px}.photo-hint{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:20px;right:20px;text-align:center;max-width:none;color:#b7b9ac;font-size:12px;pointer-events:none}.photo-error{position:absolute;inset:40% 10% auto;text-align:center;max-width:none;background:#10110f;padding:20px}.photo-image[hidden],.photo-error[hidden]{display:none}@media(max-width:760px){.photo-toolbar{left:12px;right:12px;gap:6px}.photo-count{min-width:35px;font-size:11px}.photo-zoom{gap:5px}.photo-zoom input{width:clamp(40px,12vw,70px)}.photo-dialog button{width:40px;height:40px}.photo-zoom [data-photo-reset]{width:55px}.photo-stage{inset:76px 12px 72px}.photo-prev,.photo-next{top:auto;bottom:max(16px,env(safe-area-inset-bottom));transform:none}.photo-prev{left:12px}.photo-next{right:12px}.photo-hint{left:65px;right:65px;bottom:max(18px,env(safe-area-inset-bottom));font-size:10px}}
