.ZoomableImage-module__NDUtMG__trigger{border-radius:var(--s-radius);border:1px solid var(--s-line);background:var(--s-surface);cursor:zoom-in;width:100%;transition:box-shadow var(--s-mid) var(--s-ease), border-color var(--s-mid) var(--s-ease-soft);display:block;position:relative;overflow:hidden}.ZoomableImage-module__NDUtMG__trigger:hover{border-color:var(--s-line-strong);box-shadow:var(--s-shadow)}.ZoomableImage-module__NDUtMG__img{object-fit:contain;object-position:top center;width:100%;height:100%}.ZoomableImage-module__NDUtMG__cropped{position:relative}.ZoomableImage-module__NDUtMG__cropImg{width:100%;max-width:none;height:auto;position:absolute;left:0}.ZoomableImage-module__NDUtMG__placeholder{text-align:center;border-radius:var(--s-radius);border:1px dashed var(--s-line-strong);background:repeating-linear-gradient(135deg, var(--s-bg-tint), var(--s-bg-tint) 14px, var(--s-surface-sunk) 14px, var(--s-surface-sunk) 28px);flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;min-height:220px;padding:32px;display:flex}.ZoomableImage-module__NDUtMG__placeholderMark{background:var(--s-accent-wash);border:1px solid color-mix(in oklab, var(--s-accent) 22%, transparent);border-radius:8px;flex:none;width:34px;height:34px;position:relative}.ZoomableImage-module__NDUtMG__placeholderMark:before,.ZoomableImage-module__NDUtMG__placeholderMark:after{content:"";background:var(--s-accent);border-radius:2px;position:absolute}.ZoomableImage-module__NDUtMG__placeholderMark:before{height:2px;inset:auto 8px 11px}.ZoomableImage-module__NDUtMG__placeholderMark:after{border:2px solid var(--s-accent);background:0 0;border-radius:50%;width:8px;height:8px;bottom:15px;left:11px}.ZoomableImage-module__NDUtMG__placeholderText{font-family:var(--s-label-font);font-size:var(--s-label-size);font-weight:var(--s-label-weight);letter-spacing:var(--s-label-tracking);line-height:var(--s-label-line);text-transform:none;color:var(--s-ink-3);max-width:34ch;line-height:1.5}.ZoomableImage-module__NDUtMG__hint{font-family:var(--s-label-font);font-size:var(--s-label-size);font-weight:var(--s-label-weight);letter-spacing:var(--s-label-tracking);line-height:var(--s-label-line);text-transform:none;color:var(--s-ink-2);border:1px solid var(--s-line);opacity:0;pointer-events:none;transition:opacity var(--s-mid) var(--s-ease-soft), transform var(--s-mid) var(--s-ease);white-space:nowrap;background:#ffffffeb;border-radius:999px;padding:6px 14px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)translateY(6px)}.ZoomableImage-module__NDUtMG__trigger:hover .ZoomableImage-module__NDUtMG__hint,.ZoomableImage-module__NDUtMG__trigger:focus-visible .ZoomableImage-module__NDUtMG__hint{opacity:1;transform:translate(-50%)translateY(0)}.ZoomableImage-module__NDUtMG__bare,.ZoomableImage-module__NDUtMG__bare:hover{box-shadow:none;background:0 0;border:none;border-radius:0}.ZoomableImage-module__NDUtMG__bare .ZoomableImage-module__NDUtMG__img{height:auto;display:block}.ZoomableImage-module__NDUtMG__overlay{z-index:300;-webkit-backdrop-filter:blur(6px);cursor:zoom-out;animation:ZoomableImage-module__NDUtMG__overlayIn .26s var(--s-ease-soft) both;background:#120e0be6;place-items:center;padding:clamp(16px,4vw,48px);display:grid;position:fixed;inset:0}.ZoomableImage-module__NDUtMG__overlayImg{object-fit:contain;border-radius:var(--s-radius-sm);width:auto;max-width:min(92vw,1400px);height:auto;max-height:min(90vh,100dvh - 96px);animation:ZoomableImage-module__NDUtMG__imageIn .32s var(--s-ease) both;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block;box-shadow:0 30px 90px #00000080}.ZoomableImage-module__NDUtMG__overlayInner{justify-content:center;align-items:center;max-width:100%;max-height:100%;display:flex}.ZoomableImage-module__NDUtMG__close{top:max(16px, env(safe-area-inset-top,0px));color:#fff;width:44px;height:44px;transition:background var(--s-fast) var(--s-ease-soft);background:#ffffff1f;border:1px solid #fff3;border-radius:50%;place-items:center;display:grid;position:absolute;right:16px}.ZoomableImage-module__NDUtMG__close:hover{background:#ffffff38}@keyframes ZoomableImage-module__NDUtMG__overlayIn{0%{opacity:0}to{opacity:1}}@keyframes ZoomableImage-module__NDUtMG__imageIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.ZoomableImage-module__NDUtMG__overlay,.ZoomableImage-module__NDUtMG__overlayImg{animation:none}}
