.xixi-image-viewer{justify-content:stretch;gap:8px;overflow:hidden;box-sizing:border-box;min-height:0;transform-origin:top left}
.xixi-image-stage{position:relative;flex:1;min-height:0;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:zoom-in}
.xixi-image-stage.zoomed{cursor:grab}.xixi-image-stage.zoomed:active{cursor:grabbing}
.chat-media-viewer .xixi-image-stage img{flex:none;max-width:none;max-height:none;object-fit:fill;transform-origin:center;pointer-events:none;will-change:transform}
.xixi-image-tools{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;flex:none;width:100%}.xixi-image-tools button{font:inherit;font-size:.85rem;padding:6px 10px;min-height:34px}.xixi-image-tools button[hidden]{display:none}
.xixi-image-full{position:fixed;inset:auto;z-index:2147483000;border-radius:0;margin:0;transform-origin:top left;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
.chat-attachment-selection .xixi-attachment-thumb{width:38px;height:38px;object-fit:cover;flex:none;border-radius:4px;background:var(--border,#d1d5db)}
.chat-attachment-selection .xixi-attachment-name{display:flex;align-items:center;gap:3px;flex:1;min-width:80px}.xixi-attachment-name input{font:inherit;font-size:.85em;color:inherit;background:var(--card-bg,#fff);border:1px solid #94a3b8;border-radius:5px;padding:6px;min-width:0;width:100%}.xixi-attachment-name small{flex:none;font-size:.8em}.chat-attachment-selection>.btn-secondary{flex:none}
.xixi-delete-mode>.chat-attachment-selection,.xixi-delete-mode>.chat-media-menu{display:none!important}
body.theme-dark .xixi-image-viewer{background:#111827;color:#e5e7eb;border-color:#475569}body.theme-dark .xixi-attachment-name input{background:#1e293b;color:#e5e7eb;border-color:#64748b}
@media(prefers-reduced-motion:reduce){.xixi-image-viewer,.xixi-image-stage img{animation:none!important;transition:none!important}}

.xixi-image-header{display:flex;justify-content:flex-end;flex:none;width:100%}
.xixi-image-header button,.xixi-image-size-row button{font:inherit;font-size:.85rem;padding:6px 10px;min-height:34px}
.xixi-image-header .xixi-image-close,.chat-media-viewer>.xixi-media-close{display:grid;place-items:center;width:34px;height:34px;min-width:34px;min-height:34px;padding:0;line-height:1}
.xixi-image-close svg,.xixi-media-close svg{display:block;flex:none;pointer-events:none}
.xixi-image-size-row{position:relative;display:flex;justify-content:center;flex:none;width:100%;margin-bottom:0;pointer-events:none}
.xixi-image-size-row button{pointer-events:auto}

/* v163.503: pending attachments remain editable below the large preview. */
.chat-attachment-selection{flex-wrap:nowrap;flex:none;gap:6px}
.xixi-pending-thumb{border:0;padding:0;background:transparent;flex:none;line-height:0}
.xixi-pending-actions{display:flex;flex-direction:column;align-items:center;gap:3px;flex:none}
.xixi-attachment-nav{display:flex;align-items:center;gap:3px;font-size:.7rem;white-space:nowrap}
.xixi-attachment-nav[hidden]{display:none}
.xixi-attachment-nav button,.xixi-pending-remove{padding:3px 6px!important;min-width:24px;min-height:24px;line-height:1.2}
.xixi-pending-preview{position:absolute;z-index:8;background:var(--card-bg,#fff);display:flex;align-items:center;justify-content:center;overflow:hidden;overscroll-behavior:contain}
.xixi-pending-preview>img,.xixi-pending-preview>video{width:100%;height:100%;object-fit:contain;min-height:0}
.xixi-pending-preview>button{position:absolute;top:4px;right:4px;z-index:1;padding:4px 10px}
body.theme-dark .xixi-pending-preview{background:#111827}
.xixi-image-size-row{gap:8px;align-items:center}
.xixi-image-nav{min-width:32px;padding:6px 10px}
.xixi-image-nav[hidden]{display:none}

.chat-attachment-selection:has(.xixi-attachment-wait){flex-wrap:wrap}
.xixi-attachment-wait{flex:0 0 100%;font-size:.75rem;text-align:center;line-height:1.3}

.xixi-attachment-nav button,.xixi-image-nav{display:inline-flex;align-items:center;justify-content:center}
.xixi-attachment-nav svg,.xixi-image-nav svg{display:block;flex:none;pointer-events:none}
