/* Scene workspace: compact header, collapsible sidebars and bottom tracks. */
.director-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#202126;color:#ececf0;overflow:hidden;box-sizing:border-box}
.director-dialog[open]{display:flex;flex-direction:column}.director-dialog::backdrop{background:#000b}
.director-dialog button{cursor:pointer;font:inherit}.director-dialog button:disabled{opacity:.45;cursor:default}.director-dialog button:not(.primary-button){color:#dedde5;background:#303137;border:1px solid #ffffff18;border-radius:6px;padding:6px 9px;font-size:11px;white-space:nowrap}.director-dialog button:hover:not(:disabled){border-color:#a98bea}.director-dialog button[aria-pressed=true]{border-color:#9c73df;background:#63428c55}.director-dialog button.primary-button{padding:7px 12px;font-size:12px}
.director-head{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;gap:10px;border-bottom:1px solid #ffffff15;flex:none}.director-head>div:first-child{display:flex;gap:12px;align-items:center;min-width:0}.director-head h2{margin:0;font-size:14px;white-space:nowrap}.director-head p{margin:0;font-size:10px;color:#a4a3af}.director-head-actions{display:flex;align-items:center;gap:5px}.director-head-actions [data-dir-close]{font-size:18px!important;line-height:16px!important}
.director-body{display:grid;grid-template-columns:210px minmax(0,1fr) 260px;flex:1;min-height:0;min-width:0}.director-sidebar{position:relative;overflow:auto;background:#232429;border-right:1px solid #ffffff16;padding:10px;min-height:0;font-size:11px}.director-sidebar-heading{font-size:12px;color:#ccc5da;margin:2px 0 10px}.director-add-tools{display:grid;grid-template-columns:1fr 1fr;gap:5px}.director-add-tools button{font-size:11px!important}.director-object-strip{display:flex;flex-direction:column;gap:5px;padding:10px 0;max-height:36vh;overflow:auto}.director-object-strip button{text-align:left;overflow:hidden;text-overflow:ellipsis}.director-object-strip i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.director-sidebar details{border-top:1px solid #ffffff15;padding:10px 0}.director-sidebar summary{cursor:pointer;color:#bcb6ca;padding-bottom:6px}.director-top{display:flex;flex-direction:column;gap:9px;padding:8px 0;font-size:11px}.director-top label{display:flex;align-items:center;justify-content:space-between;gap:7px}.director-top select{width:115px}#directorTarget{max-width:115px}#directorDuration{width:50px}.director-file-tools>div{display:flex;flex-wrap:wrap;gap:5px}.director-scene-settings>label{font-size:10px;line-height:1.6;color:#b4adbf;display:block}
.director-dialog input:not([type=checkbox]):not([type=range]),.director-dialog select,.director-dialog textarea{color:#eeedf4;background:#191a1f;border:1px solid #ffffff22;border-radius:5px;padding:6px;min-width:0;font:inherit;box-sizing:border-box}.director-dialog input[type=checkbox]{accent-color:#a477eb}
.director-stage-column{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.director-editor{position:relative;flex:1;min-height:0;overflow:hidden;background:#30343b}.director-editor>canvas{width:100%;height:100%;display:block;touch-action:none}.director-loading{position:absolute;inset:0;display:grid;place-items:center;color:#b2b7c3;font-size:13px;pointer-events:none}
.director-tools{position:absolute;top:12px;left:12px;z-index:3;display:flex;gap:5px;max-width:calc(100% - 24px);flex-wrap:wrap;padding:5px;border-radius:10px;background:#202126de;box-shadow:0 3px 15px #0003}.director-stage-tip{position:absolute;top:63px;left:16px;right:12px;z-index:2;pointer-events:none;color:#9dabb7;font-size:10px;text-shadow:0 1px 3px #000}.director-agent-bar{position:absolute;z-index:3;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:5px;padding:5px;border-radius:24px;background:#202126e8;box-shadow:0 4px 20px #0005;width:min(510px,calc(100% - 30px));box-sizing:border-box}.director-agent-bar input{flex:1;min-width:0;background:transparent!important;border:0!important;padding:7px 10px!important;font-size:11px!important}.director-agent-bar button{border-radius:20px!important;background:#7650ae!important;color:white!important}
.director-playback{height:39px;display:flex;gap:5px;align-items:center;padding:0 8px;flex:none;border-top:1px solid #ffffff20;background:#27282e;font-size:10px}.director-playback button{padding:5px 7px!important;font-size:10px!important}.director-playback input{flex:1;min-width:30px;accent-color:#ae7fff}.director-playback output{color:#aaa4b8;font-size:10px;white-space:nowrap}.director-timeline{flex:none;height:155px;min-height:0;overflow:auto;background:#1b1c21;font-size:11px}.director-track,.director-track-ruler{display:grid;grid-template-columns:135px minmax(0,1fr);min-height:29px;border-bottom:1px solid #ffffff0b}.director-track>button,.director-track>span,.director-track-ruler>span{text-align:left;padding:6px 9px!important;background:transparent!important;border:0!important;border-radius:0!important;color:#c6c3cf;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.director-track.selected>button{color:#cbaaff;background:#8b5cf61a!important}.director-track-ruler{position:sticky;top:0;z-index:2;background:#2b2c33}.director-track-ruler>div{display:flex;justify-content:space-between}.director-track-ruler button{background:none!important;border:0!important;font-size:10px!important;padding:5px!important;color:#aaa3b9!important}.director-track-lane{position:relative;min-width:0;margin-right:12px;background:repeating-linear-gradient(90deg,transparent,transparent calc(20% - 1px),#ffffff13 calc(20% - 1px),#ffffff13 20%);cursor:crosshair}.director-diamond{position:absolute;top:2px;transform:translateX(-50%);background:none!important;border:0!important;color:#bb99fa!important;font-size:17px!important;padding:0!important;z-index:1}.director-playhead{position:absolute;left:var(--playhead,0%);height:100%;width:1px;background:#d8c4ff;pointer-events:none;z-index:2}.director-clip{position:absolute;top:4px;height:21px;background:#8653d4!important;color:white!important;border:1px solid #b68de9!important;border-radius:4px!important;text-overflow:ellipsis;overflow:hidden;font-size:10px!important;line-height:18px;padding:0 7px!important}.director-clip.selected{background:#a37cf0!important}.director-clip-handle{position:absolute;right:0;top:0;height:100%;width:8px;background:#ffffff20;cursor:ew-resize}.director-clip span{pointer-events:none}.director-diamond,.director-clip{touch-action:none;cursor:grab!important}
.director-inspector{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:10px;background:#25262b;border-left:1px solid #ffffff15}.director-camera-monitor{flex:none}.director-inspector h3{margin:0 0 8px;font-size:12px}.director-preview{height:140px;width:100%;background:#111319;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:8px}.director-preview canvas{display:block}.director-warnings{font-size:10px;line-height:1.4;color:#aaa4b6;margin:6px 0;max-height:35px;overflow:auto}.director-property-scroll{flex:1;min-height:0;overflow:auto;padding-bottom:10px}.director-keyframes{display:flex;gap:4px;margin:8px 0 12px}.director-keyframes button{flex:1;padding:6px 3px!important;font-size:10px!important}.director-properties{display:flex;flex-direction:column;gap:8px;font-size:11px}.director-properties label{display:flex;flex-direction:column;gap:4px;color:#aaa4b8}.director-properties h4{margin:5px 0 0;color:#d8d2e5;font-size:11px}.director-properties small{line-height:1.6;color:#9e97ac}.director-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.director-field-grid input{width:100%}.director-preset-row{display:flex;gap:4px;flex-wrap:wrap}.director-properties input[type=color]{min-height:30px;width:100%}
#directorStatus{flex:none;margin:0;padding:4px 12px;height:23px;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#1c1d22;color:#aaa3b8;font-size:10px;line-height:15px}#directorStatus.is-error{color:#f4a1a1}
.director-models-panel{position:absolute;z-index:6;top:0;left:0;bottom:0;width:100%;overflow:auto;padding:12px;box-sizing:border-box;background:#24252c;box-shadow:5px 0 25px #0007}.director-models-panel[hidden]{display:none}.director-models-panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.director-models-panel button{margin:3px 0;max-width:100%;white-space:normal!important}.director-models-panel input:not([type=checkbox]),.director-models-panel textarea{width:100%;margin:5px 0}.director-models-panel textarea{min-height:65px;resize:vertical}.director-models-panel label,.director-models-panel small,.director-models-panel summary,.director-task{font-size:11px;line-height:1.6}.director-models-panel a{font-size:11px}.director-model-library{display:flex;flex-direction:column;gap:4px}.director-model-library small{display:block;color:#b5abc6}.director-task{border-top:1px solid #ffffff20;padding:10px 0}.director-task>span{display:block}.director-path-options{position:absolute;z-index:4;top:85px;left:12px;max-width:260px;background:#24252cf0;border:1px solid #9c73df;border-radius:9px;padding:10px;font-size:11px;display:flex;flex-direction:column;gap:8px}.director-path-options[hidden]{display:none}.director-path-options label{display:flex;align-items:center;gap:6px}.director-path-options input{width:65px}.director-path-options small{color:#c3b6dd;line-height:1.5}
.director-dialog.hide-left .director-sidebar{display:none}.director-dialog.hide-right .director-inspector{display:none}.director-dialog.hide-left .director-body{grid-template-columns:minmax(0,1fr) 260px}.director-dialog.hide-right .director-body{grid-template-columns:210px minmax(0,1fr)}.director-dialog.hide-left.hide-right .director-body{grid-template-columns:minmax(0,1fr)}.director-dialog.hide-timeline .director-timeline{display:none}.director-dialog.is-focused .director-playback{height:32px}.director-dialog.is-focused .director-stage-tip{display:none}
@media(max-width:1100px){.director-head p{display:none}.director-body{grid-template-columns:180px minmax(0,1fr) 230px}.director-dialog.hide-left .director-body{grid-template-columns:minmax(0,1fr) 230px}.director-dialog.hide-right .director-body{grid-template-columns:180px minmax(0,1fr)}.director-preview{height:120px}.director-playback output{max-width:95px;overflow:hidden}.director-timeline{height:130px}}
@media(max-height:700px){.director-timeline{height:115px}.director-preview{height:110px}.director-head{height:43px}}
@media(max-width:750px){.director-head-actions{gap:3px}.director-head-actions button{font-size:10px!important;padding:5px!important}.director-head h2{font-size:12px}.director-body{grid-template-columns:150px minmax(0,1fr) 200px}.director-dialog.hide-left .director-body{grid-template-columns:minmax(0,1fr) 200px}.director-dialog.hide-right .director-body{grid-template-columns:150px minmax(0,1fr)}.director-playback{overflow-x:auto}.director-track,.director-track-ruler{grid-template-columns:100px minmax(0,1fr)}}
.director-catalog-item{padding:8px;border:1px solid #ffffff1c;border-radius:7px;margin-bottom:5px}.director-catalog-item strong{font-size:11px;line-height:1.6;display:block}.director-catalog-item a{margin-left:7px}
.director-timing-control{display:flex;align-items:center;gap:4px;white-space:nowrap;color:#c9c3d2}.director-playback .director-timing-control select{width:auto;max-width:74px;padding:4px 3px;border:1px solid #ffffff35;border-radius:5px;background:#33343d;color:#eee;font-size:11px}.director-playback .director-timing-control select:focus-visible{outline:2px solid #b58aff}
.director-color-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.director-dialog .director-color-palette button{width:24px;height:24px;padding:0;border-radius:50%;border:2px solid #ffffff35}.director-color-palette button:hover{outline:2px solid #c9b0ff}.director-ruler-lane{position:relative;margin-right:12px;touch-action:none}.director-dialog .director-playhead-handle{position:absolute;left:var(--playhead,0%);top:0;transform:translateX(-50%);min-width:30px;height:28px;background:#a06aff!important;color:white!important;z-index:4;border-radius:5px!important;cursor:ew-resize;touch-action:none}.director-track-lane{touch-action:none}.director-dialog .director-diamond.selected{color:#fff!important;text-shadow:0 0 7px #b484ff;outline:1px solid #c7a4ff;border-radius:4px}.director-tools{max-width:calc(100% - 24px)}.director-stage-tip{top:95px}.director-path-options{top:115px}
.director-pose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.director-dialog .director-pose-grid button{white-space:normal;text-align:left;min-height:32px;border-radius:7px}.director-dialog .director-pose-grid button[aria-pressed=true]{background:#7653ad77;border-color:#b88af1;color:#fff}.director-pose-grid+small{display:block}
.director-catalog-filters{display:flex;gap:4px;flex-wrap:wrap;margin:5px 0 9px}.director-dialog .director-catalog-filters button{padding:4px 6px;font-size:10px}.director-dialog .director-catalog-filters button[aria-pressed=true]{background:#70459c;border-color:#b78bea;color:#fff}
.director-dialog .director-stage-library{background:#754aa9!important;border-color:#bd91ed!important;color:#fff!important;font-weight:700!important}.director-dialog .director-stage-library:hover{background:#8d5dc5!important}
.panorama-dialog{color:#eee;background:#24252c;border:1px solid #ffffff28;border-radius:16px;width:min(560px,90vw);padding:22px}.panorama-dialog::backdrop{background:#000a}.panorama-dialog header{display:flex;justify-content:space-between;align-items:center}.panorama-dialog h2{font-size:20px}.panorama-dialog img{width:100%;height:180px;object-fit:contain;background:#16171c;border-radius:8px}.panorama-dialog label{display:flex;flex-direction:column;gap:8px}.panorama-dialog textarea{min-height:85px;padding:12px;background:#15161b;color:#eee;border:1px solid #ffffff25;border-radius:8px;font:inherit}.panorama-dialog small{display:block;margin:12px 0;color:#aca6b9;line-height:1.7}.panorama-dialog footer{display:flex;gap:12px;flex-wrap:wrap}.panorama-dialog button,.canvas-panorama-actions button{padding:9px 12px;border-radius:8px;color:#ece5fa;background:#483457;border:1px solid #aa8ac544;cursor:pointer}.canvas-panorama-actions{display:flex;gap:7px;margin:10px 0;font-size:12px}#panoramaNote{color:#f1ac9b;font-size:13px}
.panorama-viewer{width:calc(100vw - 36px);height:calc(100vh - 36px);max-width:none;max-height:none;box-sizing:border-box;border:1px solid #ffffff28;border-radius:16px;padding:0;color:#eee;background:#191b21;overflow:hidden}
.panorama-viewer[open]{display:flex;flex-direction:column}.panorama-viewer::backdrop{background:#000c}
.panorama-viewer header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;flex:none}.panorama-viewer header strong{display:block;font-size:16px}.panorama-viewer header small{display:block;margin-top:5px;color:#aba9b4;font-size:12px}
.panorama-viewer button{border:1px solid #ffffff25;background:#30313a;color:#eee;padding:8px 12px;border-radius:8px;cursor:pointer}.panorama-viewer button[aria-pressed=true]{background:#59417c;border-color:#b388ec}
.panorama-viewer-stage{overflow:hidden;position:relative;flex:1;min-height:0;background:#111319}.panorama-viewer-canvas{position:absolute;inset:0;touch-action:none}.panorama-viewer-canvas canvas{display:block;width:100%;height:100%;cursor:grab}.panorama-viewer-canvas canvas:active{cursor:grabbing}.panorama-viewer-stage>img{width:100%;height:100%;object-fit:contain}.panorama-viewer [hidden]{display:none!important}
.panorama-viewer-loading{position:absolute;top:45%;width:100%;text-align:center;color:#ddd;pointer-events:none}.panorama-viewer footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;flex:none;flex-wrap:wrap}.panorama-viewer footer>div{display:flex;gap:6px;flex-wrap:wrap}.panorama-viewer output{font-size:12px;color:#b5adbf}
.panorama-viewer-warning,.director-pano-quality{font-size:11px;line-height:1.6;color:#e7c590;background:#a477211a;border:1px solid #bd984e45;border-radius:8px;padding:9px 12px;margin:7px 0}.panorama-viewer-warning{margin:8px 18px 0;flex:none}
.director-panorama-checks{display:flex;gap:14px;flex-wrap:wrap}.director-panorama-checks label{flex-direction:row;align-items:center}.director-properties input[type=range]{width:100%;accent-color:#ad7ff7}.director-properties output{color:#d0bee5;font-size:11px}
.director-tools{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.director-tools button{flex:none}.director-stage-tip{top:65px;max-width:calc(100% - 48px);pointer-events:none}.canvas-panorama-actions{flex-wrap:wrap}
.director-object-strip{gap:4px;max-height:42vh}.director-layer-row{display:flex;align-items:center;gap:2px;min-width:0;border-radius:7px;border:1px solid transparent}.director-layer-row.selected{background:#7654a72a;border-color:#9c73df88}.director-layer-row.is-muted .director-layer-name{opacity:.5}.director-dialog .director-layer-row button{border:0!important;background:transparent!important;padding:4px!important;min-width:23px;height:27px;flex:none}.director-dialog .director-layer-row button:hover{background:#ffffff13!important}.director-layer-row .director-layer-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:nowrap}.director-layer-row .director-layer-eye svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.director-layer-lock[aria-pressed=true],.director-layer-solo[aria-pressed=true]{color:#d5b4ff!important}.director-layer-actions{display:flex;gap:4px;margin-top:5px}.director-layer-actions button{flex:1;padding:4px!important}.director-layer-note{display:block;color:#8f91a0;font-size:10px;line-height:1.4}
.director-layer-bulk{display:flex;gap:4px}.director-layer-bulk button{flex:1;padding:4px!important}.director-layer-actions button,.director-layer-bulk button{font-size:10px!important}

.director-dialog.is-saving :is(#directorEditor,#directorTimeline){pointer-events:none}

/* Workspace shell: permanent navigation, one resource panel, stage, inspector. */
.director-dialog{--dir-panel:var(--surface,#222824);--dir-base:var(--bg,#191e1b);--dir-line:var(--line,rgba(220,235,224,.12));--dir-text:var(--text,#e2e8e3);--dir-muted:var(--muted,#9da89f);--dir-accent:#9ac8aa;--dir-left:280px;--dir-right:290px;background:var(--dir-base);color:var(--dir-text);font-family:var(--font-ui,sans-serif)}
.director-dialog [hidden]{display:none!important}
.director-head{height:56px;padding:0 18px;background:var(--dir-base);border-color:var(--dir-line);gap:16px}
.director-head>div:first-child{flex:1}.director-head p{display:none}.director-head h2{font-size:14px;letter-spacing:.02em}
.director-head-actions{flex:1;justify-content:flex-end;gap:8px}.director-dialog .director-head-actions button{border:0;border-radius:20px;background:transparent;padding:8px 10px}
.director-dialog #directorApply{border:1px solid var(--button-glass-border);font-weight:600;padding:9px 16px;border-radius:10px}
.director-dialog .director-head-actions [data-dir-close]{width:32px;height:32px;padding:4px;background:var(--dir-panel)}
.director-dialog button:not(.primary-button){background:rgba(222,235,225,.04);color:var(--dir-text);border-color:var(--dir-line);border-radius:9px;font-size:12px}
.director-dialog button:hover:not(:disabled){background:rgba(222,235,225,.09);border-color:#9ac8aa70}
.director-dialog button[aria-pressed=true]{background:#9ac8aa1a;border-color:#9ac8aa65;color:#c1e4cc}
.director-view-switch{display:flex;gap:3px;padding:4px;background:var(--dir-panel);border:1px solid var(--dir-line);border-radius:24px;max-width:38vw;overflow:auto;flex:none}
.director-dialog .director-view-switch button{background:transparent;border-color:transparent;border-radius:18px;padding:6px 12px;flex:none}
.director-body{grid-template-columns:58px var(--dir-left) minmax(0,1fr) var(--dir-right)}
.director-dialog.hide-left .director-body{grid-template-columns:58px minmax(0,1fr) var(--dir-right)}
.director-dialog.hide-right .director-body{grid-template-columns:58px var(--dir-left) minmax(0,1fr)}
.director-dialog.hide-left.hide-right .director-body{grid-template-columns:58px minmax(0,1fr)}
.director-nav{display:flex;flex-direction:column;gap:8px;padding:12px 5px;border-right:1px solid var(--dir-line);background:var(--dir-base);overflow-y:auto;min-height:0}
.director-dialog .director-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:53px;width:46px;padding:6px 2px;border:1px solid transparent;border-radius:12px;background:transparent;flex:none}
.director-nav button span{font-size:21px;line-height:1}.director-nav button small{font-size:10px;color:inherit}
.director-dialog .director-nav button{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.director-dialog .director-nav button[aria-pressed=true]{background:#9ac8aa20!important;border-color:#9ac8aa55!important;color:#c6e6ce!important}
.director-dialog .director-nav button:hover{background:#ffffff09!important}
.director-sidebar{padding:0;background:var(--dir-panel);border-color:var(--dir-line);overflow:auto;overscroll-behavior:contain}
.director-models-panel{position:static;inset:auto;width:auto;overflow:visible;padding:0 14px 20px;background:transparent;box-shadow:none}
.director-models-panel>header,.director-panel-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;background:var(--dir-panel);min-height:52px;margin:0 0 12px;padding:0;border-bottom:1px solid var(--dir-line);font-size:13px}
.director-objects-panel,.director-sidebar>.director-scene-settings,.director-sidebar>.director-file-tools{padding:0 14px 16px;border:0;font-size:12px}
.director-sidebar>.director-scene-settings>summary,.director-sidebar>.director-file-tools>summary,.director-sidebar-heading{display:none}
.director-add-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:12px}.director-add-tools button{padding:8px 5px!important}
.director-object-strip{max-height:none;padding:8px 0;gap:6px;overflow:visible}
.director-layer-row.selected{background:var(--surface-3);border-color:var(--line-strong)}.director-dialog .director-layer-lock[aria-pressed=true],.director-dialog .director-layer-solo[aria-pressed=true]{color:#b8d9c2!important}
.director-layer-note{color:var(--dir-muted)}
.director-models-panel h4{margin:20px 0 10px;font-size:12px;color:var(--dir-muted);font-weight:500}
.director-model-library{gap:8px}.director-catalog-item{padding:12px;border:1px solid var(--dir-line);border-radius:12px;background:rgba(255,255,255,.02)}
.director-catalog-item strong{font-size:12px;font-weight:500}.director-catalog-item small{font-size:10px;color:var(--dir-muted);margin:5px 0}
.director-dialog .director-catalog-filters button{border-radius:16px;padding:6px 8px}.director-dialog .director-catalog-filters button[aria-pressed=true]{background:#9ac8aa20;border-color:#9ac8aa65;color:#c1e4cc}
.director-dialog input:not([type=checkbox]):not([type=range]),.director-dialog select,.director-dialog textarea{background:var(--dir-base);color:var(--dir-text);border-color:var(--dir-line);border-radius:9px;padding:8px;font-size:12px}
.director-dialog input[type=file]{max-width:100%;font-size:11px}.director-dialog input[type=checkbox],.director-dialog input[type=range]{accent-color:var(--dir-accent)}
.director-sidebar label{display:block;margin:9px 0;line-height:1.7}.director-sidebar small,.director-sidebar p,.director-sidebar summary{color:var(--dir-muted);font-size:11px;line-height:1.7}
.director-sidebar .director-top label{display:flex;margin:0}.director-top select,#directorTarget{max-width:155px;width:155px}
.director-inspector{background:var(--dir-panel);border-color:var(--dir-line);width:auto;min-width:0}
.director-camera-monitor{padding:14px;border-color:var(--dir-line)}.director-camera-monitor h3{font-size:12px;font-weight:500;margin:0 0 12px}.director-preview{height:160px;border-radius:12px;overflow:hidden;background:#141a16}
.director-property-scroll{padding:14px}.director-properties h3{font-size:13px;margin:18px 0}.director-properties h4{font-size:11px;color:var(--dir-muted);margin:20px 0 9px}.director-properties label{font-size:11px;color:var(--dir-muted);line-height:1.7}.director-properties input,.director-properties select{margin-top:4px}.director-keyframes{gap:6px}.director-keyframes button{font-size:10px!important}
.director-tools{top:auto;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:6px;gap:4px;border:1px solid var(--dir-line);border-radius:28px;background:#202822ef;box-shadow:0 6px 24px #0003;flex-wrap:nowrap}
.director-dialog .director-tools button{border:0;border-radius:18px;background:transparent;padding:8px 12px;font-size:11px}.director-dialog .director-tools button[aria-pressed=true]{background:#9ac8aa24;color:#c1e4cc}
.director-stage-tip{top:16px;left:18px;right:18px;font-size:10px;color:#b1bdb6;opacity:.75;max-width:480px;line-height:1.6}
.director-path-options{top:auto;bottom:80px;left:18px;border-color:#9ac8aa65;background:var(--dir-panel)}
.director-playback{height:44px;background:var(--dir-panel);border-color:var(--dir-line);gap:7px;padding:0 10px;overflow-x:auto;scrollbar-width:thin}.director-playback>*{flex-shrink:0}.director-playback #directorSeek{flex:1;min-width:60px}.director-playback output{color:var(--dir-muted)}
.director-timeline{height:170px;background:var(--dir-base)}.director-track.selected{background:#9ac8aa12}.director-dialog .director-playhead-handle{background:#9ac8aa!important;color:#14241a!important}.director-dialog .director-diamond{color:#b6d8c0!important}.director-dialog .director-diamond.selected{outline-color:#b6d8c0;text-shadow:none}.director-dialog .director-clip{background:#4e715b!important;color:#e3eee6!important;border-color:#9ac8aa50!important}.director-playhead{background:#9ac8aa!important}
.director-dialog .director-pose-grid button[aria-pressed=true]{background:#9ac8aa22;border-color:#9ac8aa65}.director-color-palette button:hover{outline-color:#9ac8aa}
#directorStatus{background:var(--dir-base);color:var(--dir-muted);border-top:1px solid var(--dir-line);padding:8px 16px;margin:0;min-height:30px;box-sizing:border-box;font-size:11px}#directorStatus.is-error{color:#edb4a7}
.director-floating-monitor{position:absolute;top:16px;right:16px;width:min(var(--director-preview-width,300px),calc(100% - 32px));z-index:4;padding:8px;border:1px solid var(--dir-line);border-radius:16px;background:#202622ed;box-shadow:0 6px 24px #0003;box-sizing:border-box}
.director-monitor-heading{display:flex;align-items:center;gap:5px;margin-bottom:8px;font-size:11px;color:var(--dir-muted)}
.director-monitor-heading>span{padding-left:4px}.director-dialog .director-monitor-heading select{width:auto;min-width:0;max-width:145px;padding:6px 8px;margin:0;flex:1;border:0;border-radius:12px}
.director-dialog .director-monitor-heading button{margin-left:auto;padding:3px;width:26px;height:26px;border:0;border-radius:7px}
.director-floating-monitor .director-preview{width:100%;height:auto;aspect-ratio:var(--director-preview-aspect,1.7777778);background:transparent;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.director-floating-monitor #directorWarnings{margin:7px 2px 1px;font-size:10px;color:var(--dir-muted);line-height:1.4}
.director-floating-monitor.is-collapsed{width:190px}.director-floating-monitor.is-collapsed .director-preview,.director-floating-monitor.is-collapsed #directorWarnings{display:none}.director-floating-monitor.is-collapsed .director-monitor-heading{margin-bottom:0}
.director-property-scroll{height:100%;box-sizing:border-box}.director-stage-tip{max-width:calc(100% - 350px)}
@media(max-width:900px){.director-floating-monitor{top:10px;right:10px;max-width:220px}.director-stage-tip{display:none}}
@media(max-width:650px){.director-floating-monitor{max-width:160px;padding:6px}.director-floating-monitor .director-monitor-heading>span{display:none}.director-floating-monitor #directorWarnings{display:none}.director-floating-monitor.is-collapsed{width:140px}}
@media(max-width:1200px){.director-dialog{--dir-left:240px;--dir-right:250px}.director-head-actions{gap:3px}.director-dialog .director-head-actions button{padding:7px}.director-tools{left:12px;transform:none}.director-head{padding:0 12px}.director-stage-tip{max-width:340px}}
@media(max-width:900px){.director-dialog{--dir-left:220px;--dir-right:230px}.director-head h2{font-size:12px}.director-view-switch{max-width:28vw}.director-dialog .director-view-switch button{padding:5px 8px}.director-head-actions #directorFocus{display:none}.director-body{position:relative}.director-sidebar{position:absolute;left:58px;top:0;bottom:0;width:var(--dir-left);z-index:8;box-shadow:8px 0 24px #0004}.director-body,.director-dialog.hide-left .director-body{grid-template-columns:58px minmax(0,1fr) var(--dir-right)}.director-dialog.hide-right .director-body,.director-dialog.hide-left.hide-right .director-body{grid-template-columns:58px minmax(0,1fr)}.director-timeline{height:130px}}
@media(max-width:650px){.director-head{gap:6px;padding:0 8px}.director-head-actions button{font-size:10px!important}.director-head-actions #directorToggleTimeline{display:none}.director-dialog #directorApply{padding:7px 9px}.director-view-switch{max-width:30vw}.director-head>div:first-child{flex:0}.director-head h2{font-size:11px;white-space:normal;width:45px}.director-body,.director-dialog.hide-left .director-body,.director-dialog.hide-right .director-body,.director-dialog.hide-left.hide-right .director-body{grid-template-columns:58px minmax(0,1fr)}.director-inspector{position:absolute;right:0;top:0;bottom:0;width:230px;z-index:7;box-shadow:-8px 0 24px #0004}.director-tools{max-width:calc(100% - 24px)}.director-stage-tip{display:none}}
.director-floating-monitor{background:rgba(31,39,34,.48);border-color:rgba(218,235,224,.18);box-shadow:0 12px 36px #0002,inset 0 1px 0 #ffffff0b;backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1)}
.director-floating-monitor .director-preview{background:transparent}
.director-dialog .director-monitor-heading select{background:rgba(15,23,18,.4)}
.director-timeline{height:auto;max-height:min(24vh,220px);flex:0 0 auto;scrollbar-width:thin}
.director-track,.director-track-ruler{min-height:28px}.director-track-ruler{background:#242c27}
.director-track-lane{min-height:28px;background:repeating-linear-gradient(90deg,transparent,transparent calc(20% - 1px),#ffffff08 calc(20% - 1px),#ffffff08 20%)}
.director-layer-span{position:absolute;left:2px;right:0;top:5px;height:18px;line-height:18px;padding:0 10px;border:1px solid #9ac8aa24;border-radius:4px;background:linear-gradient(90deg,#9ac8aa15,#9ac8aa08);color:#9faf9f;font-size:9px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;box-sizing:border-box}
.director-track.selected .director-layer-span{background:linear-gradient(90deg,#9ac8aa28,#9ac8aa10);border-color:#9ac8aa45;color:#d0e4d5}
.director-dialog .director-diamond{z-index:3}.director-track.selected>button{color:#c1dfca;background:#9ac8aa10!important}
@media(max-width:900px){.director-timeline{height:auto;max-height:22vh}}
/* Free camera navigation keeps object editing handles out of the shooting view. */
.director-editor[data-navigation="fly"] .director-tools{display:none}
.director-editor[data-navigation="fly"]>canvas{cursor:grab}
.director-view-switch #directorCaptureView{color:var(--text)}
.director-local-world{display:grid;gap:10px;padding:12px 0 16px;border-bottom:1px solid var(--line,#3b493f)}
.director-local-world h4{margin:0}
.director-local-world small{display:block;line-height:1.6}
#directorColliderInfo{display:block;margin:8px 0 14px;line-height:1.5}

/* 3D file library: still thumbnails, compact titles and contextual actions. */
.director-file-toolbar{display:flex;gap:8px;margin:14px 0 10px;align-items:center}
.director-file-toolbar input{min-width:0;flex:1;border-radius:999px!important;padding:9px 12px!important}
.director-file-toolbar button{border-radius:999px!important;flex:none}
.director-file-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;margin:12px 0 20px}
.director-file-card{min-width:0;position:relative;display:flex;flex-direction:column;gap:6px;padding:9px;border:1px solid var(--line,#3b443f);border-radius:16px;background:#242a26}
.director-file-thumb{width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:10px;background:radial-gradient(ellipse at 50% 35%,#363f38,#1c211e);display:grid;place-items:center}
.director-file-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.director-thumb-placeholder{display:grid;gap:5px;text-align:center;color:#a6b9ac;font-size:30px}
.director-thumb-placeholder small{font-size:10px;line-height:1.3;color:#8c9a91}
.director-file-card>strong{font-size:12px!important;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:550}
.director-file-card>small{font-size:10px!important;color:#a1b6a6;line-height:1.4}
.director-file-card footer{display:flex;align-items:center;gap:4px;margin-top:auto}
.director-file-card footer>button{flex:1;min-width:0;font-size:11px!important;padding:5px 4px!important;border-radius:999px!important}
.director-file-menu{position:relative;flex:none;margin:0!important;padding:0!important;border:0!important}
.director-file-menu>summary{list-style:none;cursor:pointer;border-radius:999px;padding:5px 7px;color:#bdc9bf;font-size:12px}
.director-file-menu>summary::-webkit-details-marker{display:none}
.director-file-menu[open]{z-index:20}
.director-file-menu>div{position:absolute;right:0;top:100%;min-width:145px;display:grid;padding:5px;background:#2b322d;border:1px solid #49544b;border-radius:12px;box-shadow:0 8px 24px #0008}
.director-file-menu button,.director-file-menu a{display:block;text-align:left;border:0!important;background:transparent!important;padding:8px!important;font-size:11px!important;color:inherit;border-radius:7px!important;text-decoration:none;white-space:nowrap}
.director-file-menu button:hover,.director-file-menu a:hover{background:#3b473e!important}
.director-file-empty{grid-column:1/-1;padding:24px 6px;text-align:center}
#directorFileManagement{font-size:11px;line-height:1.6;color:#a0ada3}
.director-file-card:nth-child(odd) .director-file-menu>div{left:0;right:auto}

/* Tool selection and feedback must remain obvious against the stage. */


.director-dialog .director-tools button:focus-visible{outline:2px solid #d9eee0;outline-offset:3px}
.director-dialog .director-tools button:disabled{opacity:.35;cursor:not-allowed}
.director-tool-feedback{position:absolute;z-index:4;bottom:83px;left:50%;transform:translateX(-50%);max-width:calc(100% - 36px);padding:9px 15px;border:1px solid #8db99c66;border-radius:12px;background:#1d2b23ed;color:#e0eee4;font-size:12px;line-height:1.6;box-shadow:0 4px 16px #0003;pointer-events:none;text-align:center}
.director-tool-feedback[hidden],.director-editor[data-navigation="fly"] .director-tool-feedback{display:none}
.director-tool-feedback.is-error{background:#382b24ed;border-color:#bd987d;color:#ffe0c7}
@media(max-width:1200px){.director-tool-feedback{left:12px;transform:none;max-width:calc(100% - 48px);text-align:left}}

/* Compact editor tools and camera navigation. */
.director-dialog .director-tools .director-icon-tool{display:grid;place-items:center;width:40px;height:40px;min-width:40px;padding:0;border-radius:50%;flex:none}
.director-dialog .director-tools .director-icon-tool[aria-pressed="true"]::before{display:none}
.director-tool-tooltip{position:absolute;z-index:30;max-width:calc(100% - 20px);padding:8px 12px;border-radius:999px;background:#deebe2;color:#19271e;font-size:12px;box-shadow:0 4px 16px #0005;pointer-events:none;text-align:center}
.director-tool-tooltip[hidden]{display:none}
.director-editor:has(.director-tool-tooltip:not([hidden])) .director-tool-feedback{visibility:hidden}
.director-walk-help{position:absolute;bottom:20px;left:14px;z-index:5;width:174px;margin:0!important;border:1px solid #ffffff18!important;border-radius:16px!important;background:#222925e8;box-shadow:0 4px 20px #0002;color:#cdd9d0;backdrop-filter:blur(12px);overflow:hidden}
.director-walk-help>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:11px 13px;font-size:12px;font-weight:550}
.director-walk-help>summary::-webkit-details-marker{display:none}
.director-walk-help:not([open])>summary span{transform:rotate(180deg)}
.director-walk-body{padding:0 11px 10px}
.director-walk-body header{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#a7b3aa;border-top:1px solid #ffffff12;padding:6px 0}
.director-dialog .director-walk-body header button{border:0;background:transparent;padding:1px 4px;font-size:16px}
.director-walk-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.director-dialog .director-walk-keys button{padding:5px 3px;border-radius:8px;background:#151b17;border:1px solid #ffffff15;font-size:11px;touch-action:none;user-select:none}
.director-walk-keys [data-walk-key="w"]{grid-column:2}

.director-walk-body small{display:block;margin-top:8px;font-size:10px;line-height:1.7;color:#95a49a}
.director-view-navigation{position:absolute;right:14px;bottom:20px;z-index:5;display:grid;justify-items:center;gap:8px}
.director-axis-widget{position:relative;width:88px;height:88px;border:1px solid #ffffff12;border-radius:18px;background:#222925b8;backdrop-filter:blur(8px)}
.director-axis-widget>svg{position:absolute;inset:0;width:88px;height:88px;stroke:#8c9b90;stroke-width:1.5}
.director-dialog .director-axis-widget button{position:absolute;transform:translate(-50%,-50%);width:21px;height:21px;min-width:0;padding:0;border-radius:50%;border:1px solid #ffffff24;font-size:11px;font-weight:650;line-height:19px;background:#7b8d80;color:#14271b}
.director-dialog .director-axis-widget [data-view-axis="x"]{background:#e87975;color:#351a19}.director-dialog .director-axis-widget [data-view-axis="y"]{background:#85ce9a;color:#163820}.director-dialog .director-axis-widget [data-view-axis="z"]{background:#6cbdd1;color:#15383f}
.director-dialog .director-axis-widget [data-view-axis^="-"]{width:11px;height:11px}
.director-axis-widget button:hover{outline:2px solid #e1eee5;outline-offset:2px}
.director-dialog #directorResetView{padding:8px 11px;border:1px solid #ffffff16;border-radius:999px;background:#222925df;font-size:11px;color:#cbd8ce;backdrop-filter:blur(8px)}
@media(max-width:1450px){.director-walk-help{bottom:88px;width:156px}.director-tool-feedback{max-width:calc(100% - 210px);left:190px;transform:none}.director-tool-tooltip{font-size:11px}.director-view-navigation{right:10px}}
@media(max-width:750px){.director-walk-help{bottom:92px;left:8px;width:140px}.director-axis-widget{width:88px;height:88px}.director-view-navigation{bottom:80px}.director-tool-feedback{left:12px;bottom:250px;max-width:calc(100% - 48px)}.director-dialog .director-tools .director-icon-tool{width:34px;height:34px;min-width:34px}}
.director-walk-keys{grid-template-columns:repeat(3,minmax(0,1fr)) 4px minmax(0,1fr);gap:5px 4px}
.director-walk-keys [data-walk-key="w"]{grid-area:1/2}.director-walk-keys [data-walk-key="a"]{grid-area:2/1}.director-walk-keys [data-walk-key="s"]{grid-area:2/2}.director-walk-keys [data-walk-key="d"]{grid-area:2/3}.director-walk-keys [data-walk-key="e"]{grid-area:1/5}.director-walk-keys [data-walk-key="q"]{grid-area:2/5}
.director-dialog .director-axis-widget button{background:#6c7d71!important;background-image:none!important}
.director-dialog .director-axis-widget [data-view-axis="x"]{background:#e87975!important;color:#351a19!important}.director-dialog .director-axis-widget [data-view-axis="y"]{background:#85ce9a!important;color:#163820!important}.director-dialog .director-axis-widget [data-view-axis="z"]{background:#6cbdd1!important;color:#15383f!important}
.director-dialog .director-tools #directorUndo{margin-left:7px}

/* View controls share the visible selected state of stage tools. */


.director-layer-row.selected .director-layer-name{color:var(--text)!important;font-weight:650}
.director-editor[data-navigation="fly"] .director-tool-feedback{display:block}

/* Match the page controls; selection is conveyed by color alone. */
.director-view-switch{gap:6px;padding:0;background:transparent;border:0;border-radius:0}
.director-dialog .director-view-switch button{border-radius:10px;background:var(--button-glass);border-color:var(--button-glass-border);padding:8px 12px}



.director-object-feedback{margin:0 0 8px;padding:8px 10px;border-left:2px solid var(--line-strong);background:var(--surface-2);border-radius:0 6px 6px 0;color:var(--dir-text);font-size:11px;line-height:1.6;overflow-wrap:anywhere}
