.project-zoom{margin:0}.project-zoom-trigger{display:block;position:relative;width:100%;padding:0;background:var(--surface);cursor:zoom-in}.project-zoom-trigger:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.project-zoom-label{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--bg);font-size:14px;font-weight:600}.project-zoom-caption{max-width:1050px;margin:14px auto 0;color:var(--muted);font-size:14px}.project-zoom-dialog{width:calc(100vw - 24px);max-width:1280px;max-height:calc(100dvh - 24px);margin:auto;padding:0;border:1px solid var(--border);border-radius:12px;color:var(--text);background:var(--bg);overflow:hidden}.project-zoom-dialog::backdrop{background:rgb(0 0 0/78%)}.project-zoom-dialog[open]{display:flex;flex-direction:column}.project-zoom-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;flex-shrink:0}.project-zoom-header h2{font-size:18px;line-height:1.4}.project-zoom-header p{margin-top:8px;color:var(--muted);font-size:14px}.project-zoom-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid var(--border);border-radius:6px;color:var(--text);background:var(--surface);cursor:pointer}.project-zoom-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}.project-zoom-scroll img{display:block;width:max(1200px,100%);max-width:none;height:auto}