- artifact viewers (image/video lightbox, PDF viewer, doc viewer) now host in the shared FloatingWindow: draggable by the viewer header, resizable by edge/corner handles, geometry persisted per viewer kind, closed by button or Escape; FloatingWindow gains an ariaLabel prop so headerless windows keep an accessible dialog name - the Artifacts view leads with the Artifacts tab and always lands on it; Project Files and Task Documents are secondary tabs (the old auto-select effect is gone) - mobile tab buttons rendered at mismatched heights (two-line "Project Files"/"Task Documents" grew past 44px while one-line "Artifacts" stayed at 44px); tabs now pin to the uniform 44px control height with non-wrapping labels in a scrollable row Verified live: window dragged (264,146 -> 144,164) and resized (1024x720 -> 872x618) in a real browser; mobile 390x844 lands on Artifacts with uniform tab buttons. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
139 KiBLFS
1440x900px
139 KiBLFS
1440x900px