.vcs-app .vcs-share-modes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0 0 18px; }
.vcs-app .vcs-share-modes .vcs-btn { min-width: 0; min-height: 48px; padding: 10px; white-space: normal; line-height: 1.45; font-size: 14px; }
.vcs-app .vcs-share-modes [aria-pressed="true"] { background: var(--vcs-green); color: #fff; border-color: var(--vcs-green); }
.vcs-app .vcs-share-actions > [data-vcs-native-share] { flex-basis: 100%; }
.vcs-app img[data-vcs-zoomable] { cursor: zoom-in; }
.vcs-app img[data-vcs-zoomable]:focus-visible { outline: 3px solid var(--vcs-green); outline-offset: 3px; }
.vcs-image-viewer { position: fixed; inset: 0; width: 100vw; max-width: none; height: 100vh; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; color: #fff; background: #101b17; overflow: hidden; font: 15px/1.5 system-ui, sans-serif; box-sizing: border-box; }
.vcs-image-viewer[open] { display: flex; flex-direction: column; }
.vcs-image-viewer:not([open]), .vcs-image-viewer [hidden] { display: none !important; }
.vcs-image-viewer::backdrop { background: #101b17; }
.vcs-image-viewer.is-fallback { z-index: 100020; }
.vcs-image-viewer * { box-sizing: border-box; }
.vcs-image-viewer header { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: max(8px,env(safe-area-inset-top)) 14px 8px; }
.vcs-image-viewer [data-vcs-view-title] { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-weight: 600; }
.vcs-image-viewer button { color: #fff; background: #233c31; border: 1px solid #4e6d5f; border-radius: 8px; min-width: 44px; min-height: 44px; padding: 8px 12px; font: inherit; cursor: pointer; }
.vcs-image-viewer button:disabled { opacity: .4; cursor: default; }
.vcs-image-viewer button:focus-visible, .vcs-image-viewer a:focus-visible { outline: 2px solid #90e9ba; outline-offset: 2px; }
.vcs-image-viewer [data-vcs-view-close] { flex-shrink: 0; font-size: 28px; line-height: 1; }
.vcs-image-stage { flex: 1 1 auto; position: relative; min-height: 0; overflow: hidden; touch-action: none; user-select: none; cursor: zoom-in; }
.vcs-image-stage.is-zoomed { cursor: grab; }
.vcs-image-stage.is-zoomed:active { cursor: grabbing; }
.vcs-image-stage img { position: absolute; top: 50%; left: 50%; max-width: none; max-height: none; object-fit: contain; transform-origin: center; user-select: none; -webkit-user-drag: none; pointer-events: none; }
.vcs-image-stage [data-vcs-view-error] { position: absolute; inset: 25% 20px auto; text-align: center; }
.vcs-image-viewer footer { flex: 0 0 auto; padding: 10px 12px max(12px,env(safe-area-inset-bottom)); text-align: center; background: #15271e; }
.vcs-image-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.vcs-image-viewer [data-vcs-view-count] { min-width: 52px; font-variant-numeric: tabular-nums; }
.vcs-image-viewer footer p { margin: 8px 0 4px; color: #b8c9be; font-size: 12px; }
.vcs-image-viewer footer a { color: #bee8cd; font-size: 13px; }
@media (max-width: 480px) {
    .vcs-image-controls { gap: 6px; }
    .vcs-image-viewer button { padding: 8px; }
    .vcs-image-viewer [data-vcs-view-fit] { font-size: 12px; }
    .vcs-image-viewer [data-vcs-view-count] { min-width: 40px; }
}
