.container { position: fixed; top: 0; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; overflow: hidden; } .header { display: flex; align-items: center; gap: 12px; padding: 16px; background: var(--background); position: relative; flex-shrink: 0; } .backButton { width: 40px; height: 40px; border-radius: 50%; background: #f5f5f5; display: flex; align-items: center; justify-content: center; border: none; cursor: pointer; flex-shrink: 0; transition: background 0.2s ease; &:hover { background: #e0e0e0; } &:active { background: #d0d0d0; } } .title { flex: 1; text-align: center; padding-right: 40px; // Compensate for back button width } .imageWrapper { flex: 1; display: flex; align-items: flex-start; justify-content: center; padding: 24px 24px 24px 24px; overflow-y: auto; } .imageContainer { position: relative; width: 100%; max-width: 500px; aspect-ratio: 3 / 4; border-radius: 24px; overflow: visible; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); } .imageInner { position: relative; width: 100%; height: 100%; border-radius: 24px; overflow: hidden; } .image { object-fit: cover; object-position: center; } .downloadButton { position: absolute; right: 8px; bottom: 8px; width: 52px; height: 52px; background: none; border: none; cursor: pointer; padding: 0; z-index: 10; transition: transform 0.2s ease; &:hover { transform: scale(1.05); } &:active { transform: scale(0.95); } svg { width: 100%; height: 100%; display: block; } }