.edit-photo-thumb-wrap:focus-visible{outline:2px solid var(--line-yellow);outline-offset:2px;}
.photo-stage{display:grid;place-items:center;min-height:0;overflow:hidden;}
#photo-preview{transform-origin:center;will-change:transform;cursor:zoom-in;user-select:none;-webkit-user-drag:none;}
.photo-zoom-controls{display:none;position:fixed;z-index:2;right:12px;top:calc(env(safe-area-inset-top) + 12px);gap:7px;align-items:center;}
.photo-zoom-controls button,.photo-zoom-controls output{min-width:42px;min-height:42px;padding:8px;border:1px solid rgba(255,255,255,.36);border-radius:10px;background:rgba(15,25,33,.88);color:#fff;display:grid;place-items:center;font:700 13px var(--sans);}
.photo-modal.zoom-mode{padding:0;touch-action:none;}.photo-modal.zoom-mode .photo-card{width:100%;height:100%;max-height:none;border-radius:0;}.photo-modal.zoom-mode .photo-stage{width:100%;height:100%;touch-action:none;}.photo-modal.zoom-mode #photo-preview{max-width:100%;max-height:100%;cursor:grab;}.photo-modal.zoom-mode #photo-preview:active{cursor:grabbing;}.photo-modal.zoom-mode .photo-actions{display:none;}.photo-modal.zoom-mode .photo-zoom-controls{display:flex;}
@media(prefers-reduced-motion:reduce){#photo-preview{will-change:auto;}}
