.web-marketplace .web-photo-viewer{background:var(--ink);width:100%;max-width:none;height:100dvh;max-height:none;color:var(--cream);overscroll-behavior:contain;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.web-marketplace .web-photo-viewer[open]{grid-template-rows:auto minmax(0,1fr) auto;animation:.18s ease-out web-photo-enter;display:grid}.web-photo-viewer::backdrop{background:#2e2c29}.web-photo-toolbar{padding:max(12px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));border-bottom:1px solid #fdfcf42e;align-items:center;gap:24px;display:flex}.web-photo-title{flex:1;min-width:0}.web-marketplace .web-photo-title h2{color:var(--cream);white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;font-size:16px;line-height:1.4;overflow:hidden}.web-photo-title>span{font-size:13px}.web-photo-tools{align-items:center;gap:8px;display:flex}.web-photo-viewer button{min-width:44px;min-height:44px;color:var(--cream);border-radius:var(--radius-sm);background:0 0;border:1px solid #fdfcf466;justify-content:center;align-items:center;padding:8px 12px;font-size:18px;transition:background-color .18s,color .18s;display:inline-flex}.web-photo-viewer button:hover:enabled{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.web-marketplace .web-photo-viewer button:disabled{opacity:.5}.web-photo-viewer :focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.web-photo-tools output{text-align:center;font-variant-numeric:tabular-nums;min-width:55px;font-size:14px}.web-photo-viewer .web-photo-reset,.web-photo-viewer .web-photo-close{gap:10px;font-size:14px}.web-photo-close>span{font-size:23px;line-height:1}.web-photo-canvas{min-width:0;min-height:0;position:relative}.web-photo-stage{touch-action:none;-webkit-user-select:none;user-select:none;cursor:zoom-in;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.web-photo-stage[data-zoomed=true]{cursor:grab}.web-photo-stage[data-dragging=true]{cursor:grabbing}.web-photo-stage .web-photo-image{object-fit:contain;transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;min-width:0;height:100%;min-height:0;animation:.18s ease-out web-photo-enter;display:block}.web-photo-stage[data-zoomed=true] .web-photo-image{will-change:transform}.web-photo-stage>p{text-align:center;padding:24px 64px;font-size:16px}.web-photo-viewer .web-photo-step{background:var(--cream);width:48px;height:48px;color:var(--ink);border-color:var(--line);border-radius:50%;font-size:24px;position:absolute;top:calc(50% - 24px)}.web-photo-step.previous{left:max(16px,env(safe-area-inset-left))}.web-photo-step.next{right:max(16px,env(safe-area-inset-right))}.web-photo-hint{padding:12px 20px max(12px,env(safe-area-inset-bottom));text-align:center;border-top:1px solid #fdfcf42e;margin:0;font-size:13px;line-height:1.6}@keyframes web-photo-enter{0%{opacity:0}to{opacity:1}}@media (width<=700px){.web-photo-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding-inline:12px;display:grid}.web-photo-tools{grid-area:2/1/auto/-1;justify-content:center}.web-photo-close{grid-area:1/2}.web-photo-title{grid-area:1/1}.web-photo-viewer .web-photo-step{width:44px;height:44px}.web-photo-step.previous{left:8px}.web-photo-step.next{right:8px}.web-photo-hint{padding-inline:16px}}@media (prefers-reduced-motion:reduce){.web-photo-viewer,.web-photo-viewer *{transition:none!important;animation:none!important}}