.travel-image-viewer { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; color: #fff; background: #161b18; overflow: hidden; }
.travel-image-viewer[open] { display: flex; flex-direction: column; }
.travel-image-viewer::backdrop { background: #161b18; }
.travel-image-viewer > header { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 12px; padding: max(12px, env(safe-area-inset-top)) 12px 12px; background: #202923; }
.travel-image-viewer header > div { display: flex; gap: 8px; }
.travel-image-viewer button { min-width: 44px; min-height: 44px; padding: 8px 14px; border: 1px solid #77857b; border-radius: 10px; color: #fff; background: #35483b; font: inherit; cursor: pointer; }
.travel-image-viewer button:disabled { opacity: .4; cursor: default; }
.travel-image-stage { position: relative; flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; touch-action: none; user-select: none; padding-bottom: env(safe-area-inset-bottom); }
.travel-image-stage img { width: 100%; height: 100%; object-fit: contain; transform-origin: center; flex-shrink: 0; user-select: none; -webkit-user-drag: none; }
.travel-image-stage [role=status], .travel-image-stage [data-retry] { position: absolute; }
.travel-image-viewer [hidden] { display: none; }
