@@ -80,6 +80,11 @@ main { flex: 1; position: relative; }
8080/* Reserved: placeholder class no longer used; keep for compatibility */
8181.mosaic-placeholder { display : none; }
8282
83+ /* Mosaic download button (bottom-right) */
84+ .mosaic-download-btn { position : absolute; right : 4px ; bottom : 4px ; background : rgba (37 , 99 , 235 , 0.92 ); color : # fff ; border : none; border-radius : 12px ; padding : 4px 6px ; font-size : 11px ; line-height : 1 ; cursor : pointer; opacity : 0 ; transform : translateY (4px ); transition : opacity 160ms ease, transform 160ms ease; box-shadow : 0 1px 4px rgba (0 , 0 , 0 , 0.2 ); z-index : 5 ; }
85+ .mosaic-tile : hover .mosaic-download-btn , .mosaic-tile : focus-within .mosaic-download-btn { opacity : 1 ; transform : translateY (0 ); }
86+ .mosaic-download-btn : hover { background : # 1d4ed8 ; }
87+
8388/* Tooltip for mosaic photo tiles */
8489.mosaic-photo-tooltip {
8590 position : fixed;
@@ -180,13 +185,20 @@ section#tab-mosaic.tab.active { display: flex; }
180185}
181186
182187/* Hover edit button on viewer image */
183- .img-edit-btn { position : absolute; right : 8 px ; bottom : 8px ; background : rgba (37 , 99 , 235 , 0.92 ); color : # fff ; border : none; border-radius : 16px ; padding : 6px 10px ; font-size : 12px ; cursor : pointer; opacity : 0 ; transform : translateY (4px ); transition : opacity 160ms ease, transform 160ms ease; box-shadow : 0 2px 6px rgba (0 , 0 , 0 , 0.2 ); z-index : 5 ; }
188+ .img-edit-btn { position : absolute; right : 50 px ; bottom : 8px ; background : rgba (37 , 99 , 235 , 0.92 ); color : # fff ; border : none; border-radius : 16px ; padding : 6px 10px ; font-size : 12px ; cursor : pointer; opacity : 0 ; transform : translateY (4px ); transition : opacity 160ms ease, transform 160ms ease; box-shadow : 0 2px 6px rgba (0 , 0 , 0 , 0.2 ); z-index : 5 ; }
184189.image-container : hover .img-edit-btn { opacity : 1 ; transform : translateY (0 ); }
185190.img-edit-btn : hover { background : # 1d4ed8 ; }
186191/* Hide image edit button in fullscreen mode */
187192.image-container : fullscreen .img-edit-btn { display : none !important ; }
188193.image-container : -webkit-full-screen .img-edit-btn { display : none !important ; }
189194
195+ /* Download button (Viewer) - Added to the right of edit button */
196+ .img-download-btn { position : absolute; right : 8px ; bottom : 8px ; background : rgba (37 , 99 , 235 , 0.92 ); color : # fff ; border : none; border-radius : 16px ; padding : 6px 10px ; font-size : 12px ; cursor : pointer; opacity : 0 ; transform : translateY (4px ); transition : opacity 160ms ease, transform 160ms ease; box-shadow : 0 2px 6px rgba (0 , 0 , 0 , 0.2 ); z-index : 5 ; }
197+ .image-container : hover .img-download-btn { opacity : 1 ; transform : translateY (0 ); }
198+ .img-download-btn : hover { background : # 1d4ed8 ; }
199+ .image-container : fullscreen .img-download-btn { display : none !important ; }
200+ .image-container : -webkit-full-screen .img-download-btn { display : none !important ; }
201+
190202/* Add face button (Viewer) */
191203.img-add-btn { position : absolute; right : 92px ; bottom : 8px ; background : rgba (37 , 99 , 235 , 0.92 ); color : # fff ; border : none; border-radius : 16px ; padding : 6px 10px ; font-size : 12px ; cursor : pointer; opacity : 0 ; transform : translateY (4px ); transition : opacity 160ms ease, transform 160ms ease; box-shadow : 0 2px 6px rgba (0 , 0 , 0 , 0.2 ); z-index : 5 ; }
192204.image-container : hover .img-add-btn { opacity : 1 ; transform : translateY (0 ); }
@@ -195,7 +207,7 @@ section#tab-mosaic.tab.active { display: flex; }
195207.image-container : -webkit-full-screen .img-add-btn { display : none !important ; }
196208
197209/* Confirm-all inferred faces button (Viewer) */
198- .img-confirm-btn { position : absolute; right : 176 px ; bottom : 8px ; background : rgba (245 , 158 , 11 , 0.95 ); color : # 111827 ; border : none; border-radius : 16px ; padding : 6px 10px ; font-size : 12px ; cursor : pointer; opacity : 0 ; transform : translateY (4px ); transition : opacity 160ms ease, transform 160ms ease; box-shadow : 0 2px 6px rgba (0 , 0 , 0 , 0.2 ); z-index : 5 ; display : none; }
210+ .img-confirm-btn { position : absolute; right : 200 px ; bottom : 8px ; background : rgba (245 , 158 , 11 , 0.95 ); color : # 111827 ; border : none; border-radius : 16px ; padding : 6px 10px ; font-size : 12px ; cursor : pointer; opacity : 0 ; transform : translateY (4px ); transition : opacity 160ms ease, transform 160ms ease; box-shadow : 0 2px 6px rgba (0 , 0 , 0 , 0.2 ); z-index : 5 ; display : none; }
199211.image-container : hover .img-confirm-btn { opacity : 1 ; transform : translateY (0 ); }
200212.img-confirm-btn : hover { background : rgba (245 , 158 , 11 , 1 ); }
201213/* Hide confirm-all button in fullscreen mode (same as edit) */
0 commit comments