.capture-viewer{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--line);border-radius:28px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #0005;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.capture-viewer::backdrop{background:#060d20b8;backdrop-filter:blur(8px)}
.capture-viewer[open]{animation:viewer-arrive .2s ease-out}
.capture-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;position:sticky;top:0;z-index:1;background:var(--paper);border-bottom:1px solid var(--line)}
.capture-eyebrow{margin:0 0 5px;font-size:10px;letter-spacing:.15em;color:var(--muted);font-weight:700}
.capture-viewer h2{font-family:inherit;font-size:20px;line-height:1.2;letter-spacing:-.03em;margin:0;font-weight:700}
.capture-close{flex:none;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink);font:28px/1 sans-serif;cursor:pointer;transition:transform .16s,background .16s}
.capture-close:hover{background:var(--lilac)}.capture-close:active{transform:scale(.96)}.capture-close:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.capture-image-area{padding:24px 32px 12px}.capture-image{display:block;width:100%;height:auto;border-radius:20px;border:1px solid var(--line);background:var(--card)}
#capture-note{padding:0 24px 20px;margin:0;text-align:center;font-size:12px;color:var(--muted)}
html.capture-viewer-open{overflow:hidden;scrollbar-gutter:stable}
@keyframes viewer-arrive{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:600px){.capture-viewer{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:22px}.capture-viewer-header{padding:16px}.capture-viewer h2{font-size:18px}.capture-image-area{padding:16px 16px 12px}}
@media(prefers-reduced-motion:reduce){.capture-viewer[open]{animation:none}.capture-close{transition:none}}
@media(prefers-reduced-transparency:reduce){.capture-viewer::backdrop{background:#060d20;backdrop-filter:none}}
@media(prefers-contrast:more){.capture-viewer,.capture-close,.capture-image{border-color:var(--ink)}}
