#app img:not(button img):not(a img),#recipe-overlay img,#receipt-overlay img,#overlay img{cursor:zoom-in}
dialog.fh-image-viewer{position:fixed;inset:0;margin:0;border:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;overflow:hidden;background:#08080df5;color:#f7f7fb;box-sizing:border-box}
dialog.fh-image-viewer[open]{display:flex;flex-direction:column}
.fh-image-viewer::backdrop{background:#000d}
.fh-image-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;flex:none}
.fh-image-title{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fh-image-viewer button{border:1px solid #625579;border-radius:12px;background:#302b3b;color:#fff;min-width:46px;min-height:46px;padding:8px 14px;font:inherit;cursor:pointer;touch-action:manipulation}
.fh-image-viewer .fh-image-close{font-size:30px;line-height:1;padding:4px 12px}
.fh-image-stage{flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;cursor:zoom-in}
.fh-image-stage.is-zoomed{cursor:grab}
.fh-image-stage img{display:block;flex:none;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;will-change:transform;touch-action:none;pointer-events:none;-webkit-user-drag:none}
.fh-image-controls{display:flex;justify-content:center;align-items:center;gap:12px;flex:none;padding:12px 12px 5px}
.fh-image-controls output{font-size:14px;min-width:52px;text-align:center}
.fh-image-help{margin:6px 12px calc(12px + env(safe-area-inset-bottom));font-size:12px;color:#b2b0bf;text-align:center;flex:none}
