4141 }
4242}
4343
44+ // #main_content scrolls, so the absolute drop indicator (pinned to the top of
45+ // the scrollable content) scrolls out of view. Pin it to the visible viewport
46+ // area instead, inset past the top and main menu.
47+ #main_content .dragover ::after {
48+ position : fixed ;
49+ inset : var (--top-menu-height ) 0 0 var (--main-menu-width );
50+ width : auto ;
51+ height : auto ;
52+ }
53+
4454alchemy-upload-progress {
4555 --border-radius : var (--border-radius_medium );
4656 --pogress_value-width : calc (232px - var (--spacing-2 ));
@@ -55,9 +65,13 @@ alchemy-upload-progress {
5565 );
5666 height : auto ;
5767 left : 0 ;
68+ max-height : 100% ;
5869 opacity : 0 ;
70+ // Only scroll vertically; setting overflow-y alone forces overflow-x to auto,
71+ // which shows a spurious horizontal scrollbar for the grid's sub-pixel overflow.
72+ overflow : hidden auto ;
5973 padding : var (--spacing-4 );
60- position : fixed ;
74+ position : absolute ;
6175 transition : var (--transition-duration ) ease-in-out ;
6276 width : 100% ;
6377 z-index : 150 ;
@@ -161,6 +175,52 @@ alchemy-upload-progress {
161175 }
162176}
163177
178+ // Inside the scrolling, menu-padded #main_content (a z-index:0 stacking context
179+ // below the fixed main menu) an absolutely positioned progress hides behind the
180+ // menu and scrolls away. Pin it to the viewport, inset past the main menu.
181+ #main_content > alchemy-upload-progress {
182+ position : fixed ;
183+ left : var (--main-menu-width );
184+ right : 0 ;
185+ width : auto ;
186+ }
187+
188+ // Mimic the picture archive grid: each upload is a thumbnail-shaped card.
189+ alchemy-upload-progress [layout = " card" ] {
190+ .single-uploads {
191+ grid-template-columns : repeat (auto-fill , minmax (168px , 1fr ));
192+ }
193+
194+ alchemy-file-upload {
195+ flex-direction : column ;
196+ align-items : stretch ;
197+ text-align : center ;
198+
199+ img {
200+ height : 120px ;
201+ width : 100% ;
202+ }
203+
204+ .description {
205+ align-self : stretch ;
206+ }
207+
208+ button {
209+ position : absolute ;
210+ top : var (--spacing-1 );
211+ right : var (--spacing-1 );
212+ margin-left : 0 ;
213+ }
214+ }
215+ }
216+
217+ // Default: each upload is a stacked row, fitting resource table views.
218+ alchemy-upload-progress [layout = " row" ] {
219+ .single-uploads {
220+ grid-template-columns : 1fr ;
221+ }
222+ }
223+
164224.successful {
165225 --file-upload_progress-indicator-color : var (
166226 --file-upload_progress-indicator-color-successful
0 commit comments