.scene-transport{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:5px;border:1px solid #77739544;border-radius:8px;background:#090b16de;z-index:40;max-width:calc(100% - 24px);box-sizing:border-box;backdrop-filter:blur(8px)}
.scene-transport button,.scene-transport select{min-height:32px;flex-shrink:0;padding:5px 9px;border:1px solid #6d709347;border-radius:5px;background:#171729;color:#e0e5f3;font:12px Arial,sans-serif;white-space:nowrap}.scene-transport button:hover{background:#292842}.scene-transport #scene-play-pause{font-size:16px;min-width:32px;padding:3px 8px}.scene-transport .recording{color:#ffb0b8;border-color:#e56a7c}.scene-record-status{font:11px Arial,sans-serif;white-space:nowrap;color:#cfccdf}.scene-record-status:empty{display:none}
.scene-formations{position:absolute;right:12px;bottom:62px;width:285px;max-height:calc(100% - 120px);background:#0d0e1ef5;border:1px solid #6f6b9855;border-radius:8px;padding:12px;z-index:42;box-shadow:0 12px 35px #0007;box-sizing:border-box}.scene-formations[hidden],.scene-fullscreen-panel[hidden]{display:none!important}.scene-drawer-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font:14px Arial,sans-serif}.scene-drawer-heading button{min-height:28px;font-size:18px;padding:2px 9px}.scene-formations input,.scene-formations select{width:100%;box-sizing:border-box;background:#16172b;color:#e5e7f2;border:1px solid #64648066;border-radius:4px;font:14px Arial,sans-serif;padding:7px}.scene-formations select{margin-top:8px;height:265px;max-height:45vh}.scene-formations option{padding:6px}.scene-formations optgroup{color:#b2cfff}
.scene-camera-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;font-size:12px}.scene-camera-row input{width:80px}.scene-camera-row select,.scene-camera-row input{background:#151629;border:1px solid #5b5d7a66;border-radius:4px;color:#e4e7f0;padding:6px;font:12px Arial,sans-serif}.scene-camera-controls>button{font-size:12px;margin:4px 5px 4px 0}.scene-camera-controls .play-status{font-size:11px}
.viewport:fullscreen .scene-fullscreen-panel{position:absolute!important;display:flex;flex-direction:column;left:0;top:48px;bottom:0;right:auto;width:min(365px,85vw)!important;height:auto!important;max-height:none!important;z-index:35;transform:none!important;background:#0b0d1cf5;border-right:1px solid #555a7766;box-shadow:12px 0 35px #0005}.viewport:fullscreen .scene-fullscreen-panel .control-content{flex:1;overflow:auto;min-height:0}.viewport:fullscreen .scene-transport{bottom:12px}.viewport:fullscreen .scene-legend,.viewport:fullscreen .scene-top{opacity:.6}.viewport:fullscreen .play-fullscreen-tools{z-index:45}.viewport:fullscreen .play-fullscreen-tools button{min-height:30px;font-size:11px}.viewport:fullscreen .consensus-banner{bottom:61px!important}
@media(max-width:700px){.scene-transport{gap:4px;flex-wrap:wrap;justify-content:center;width:max-content;bottom:8px}.scene-transport button,.scene-transport select{font-size:11px;min-height:32px;padding:4px 7px}.scene-record-status{width:100%;text-align:center}.scene-formations{right:8px;bottom:93px;width:min(285px,calc(100% - 16px))}body.controls-open:not(.show-view) .viewport:not(:fullscreen) .scene-transport{visibility:hidden;pointer-events:none}.viewport:fullscreen .scene-transport{visibility:visible;pointer-events:auto}.scene-camera-row{font-size:13px}}
@media(prefers-reduced-motion:reduce){.scene-transport{backdrop-filter:none}}

.viewport:fullscreen .scene-fullscreen-panel:not([hidden]){display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
#recovery-law{max-width:62%;background:#151629;color:#e4e7f0;border:1px solid #555b74;border-radius:4px;padding:5px;font-size:10px}

/* Camera choreography and compressed-scene recording. */
.scene-speed{display:flex;align-items:center;gap:4px;color:#c2d9ec;font:10px Arial,sans-serif;white-space:nowrap}.scene-speed input{width:82px;accent-color:#6ce0ea;cursor:pointer}.scene-speed output{min-width:35px;font-variant-numeric:tabular-nums;color:#73d5ef}.scene-shot-status{font:10px Arial,sans-serif;max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e4bf85}.scene-shot-status:empty{display:none}
.scene-preview{margin:8px 0;padding:8px;border:1px solid #507d8766;border-radius:6px;background:#080f1d}.scene-preview[hidden]{display:none!important}.scene-preview video{display:block;width:100%;max-height:240px;object-fit:contain;background:#020204}.scene-preview-actions{display:flex;gap:6px}.scene-preview-actions button{flex:1;padding:6px 5px;font-size:11px}
@media(max-width:700px){.scene-speed input{width:65px}.scene-shot-status{width:100%;max-width:none;text-align:center}}

/* Post-capture preview stays reachable in fullscreen and when Play controls are collapsed. It is never part of the captured canvas. */
.viewport .scene-preview{position:absolute;top:65px;right:12px;max-width:calc(100% - 24px);width:350px;padding:10px;background:#0b1121f5;z-index:85;box-shadow:0 12px 38px #000b;border:1px solid #79b4c077;box-sizing:border-box}
.viewport .scene-preview video{width:100%;max-height:240px;object-fit:contain}
.viewport .scene-preview-actions button{min-height:34px}
@media(max-width:580px){.viewport .scene-preview{width:calc(100% - 24px);top:55px}}

.scene-achieved-speed{font:9px Arial,sans-serif;color:#9faed0;white-space:nowrap}.scene-speed{gap:5px}.scene-speed output{min-width:34px}
@media(max-width:700px){.scene-achieved-speed{font-size:9px}}

/* Camera-only speed adjustment; simulation rate remains the adjacent Speed control. */
.scene-cinema-pace{display:flex;gap:5px;align-items:center;color:#bde0ed;font:10px Arial,sans-serif;white-space:nowrap}
.scene-cinema-pace[hidden]{display:none!important}
.scene-cinema-pace input{width:84px;accent-color:#7be1dd;cursor:pointer}
.scene-cinema-pace output{color:#9ae5e9;min-width:31px;font-variant-numeric:tabular-nums}
@media(max-width:700px){.scene-cinema-pace input{width:56px}}
