diff --git a/packages/studio/src/components/nle/NLELayout.tsx b/packages/studio/src/components/nle/NLELayout.tsx
index 07b1d2d15d..b29d267a8a 100644
--- a/packages/studio/src/components/nle/NLELayout.tsx
+++ b/packages/studio/src/components/nle/NLELayout.tsx
@@ -317,17 +317,34 @@ export const NLELayout = memo(function NLELayout({
onKeyDown={handleKeyDown}
tabIndex={-1}
>
- {/* Preview — takes remaining space above timeline */}
-
-
- {previewOverlay}
+ {/* Preview + player controls — takes remaining space above timeline */}
+
+
+
+ {previewOverlay}
+
+ {/* Player controls always visible, regardless of timeline state */}
+
+ {compositionStack.length > 1 && (
+
+ )}
+
+
{(timelineVisible ?? true) && (
@@ -343,22 +360,6 @@ export const NLELayout = memo(function NLELayout({
{/* Timeline section — fixed height, resizable */}
- {/* Breadcrumb + Player controls */}
-
- {compositionStack.length > 1 && (
-
- )}
-
-
-
{/* Timeline tracks */}