/* E23 project workspace snapshots and stable Tray geometry. */
.runtime-dialog.docked{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;border-radius:0 0 12px 12px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto}
.runtime-dialog.docked .runtime-messages{min-height:0!important;max-height:none!important;height:auto!important;overflow:auto}
.tray-pane:not(.hidden){display:flex;flex-direction:column;min-height:0;height:100%}
.tray-panel{min-height:0}.tray-panel>.tray-pane{overflow:hidden}.tray-tabs{flex:0 0 auto}.tray-pane>.runtime-dialog{flex:1 1 auto}
.workspace:not(.inspector-collapsed) .tray-panel{height:min(72vh,780px);align-self:start}

.provisional-marker-e23{position:absolute;z-index:9;top:0;bottom:0;width:3px;pointer-events:none;background:#fff1a0;box-shadow:0 0 12px #69eeff,0 0 28px #69eeffaa;transform:translateX(-50%);animation:markerDraftE23 .72s ease-in-out infinite alternate}
.provisional-marker-e23::before{content:'';position:absolute;left:50%;top:7px;width:13px;height:13px;border-radius:4px;transform:translateX(-50%);background:#fff1a0;box-shadow:0 0 18px #6eefff}
.provisional-marker-e23::after{content:'';position:absolute;inset:0 -48px;background:linear-gradient(90deg,transparent,rgba(91,232,255,.35),transparent)}
@keyframes markerDraftE23{to{opacity:.5;box-shadow:0 0 7px #69eeff,0 0 15px #69eeff88}}

.interface-layout-window{overflow:auto;resize:both;min-width:360px;min-height:300px}
.interface-layout-window>header{cursor:move}
.interface-layout-row{grid-template-columns:96px minmax(0,1fr) auto auto}
.interface-snapshot-preview{width:96px;height:54px;object-fit:cover;border:1px solid #3a4b54;border-radius:7px;background:#081014}
.interface-layout-meta{display:grid;gap:3px}.interface-layout-meta small{color:#92a7b1}

.domp-confirm-e23{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;background:rgba(0,0,0,.62)}
.domp-confirm-e23.hidden{display:none}.domp-confirm-card-e23{width:min(430px,calc(100vw - 28px));padding:20px;border:1px solid #ff781c;border-radius:14px;background:#11191e;box-shadow:0 18px 70px #000}.domp-confirm-card-e23 p{font-size:17px}.domp-confirm-actions-e23{display:flex;justify-content:flex-end;gap:9px}

.session-media-e23{display:flex;align-items:center;gap:7px;min-width:260px;max-width:min(620px,48vw);margin-left:auto;margin-right:8px;position:relative}
.session-media-select-e23{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.session-media-menu-e23{position:absolute;right:54px;top:calc(100% + 7px);z-index:120;display:grid;gap:5px;width:min(440px,80vw);padding:8px;border:1px solid #ff781c;border-radius:10px;background:#111a1f;box-shadow:0 14px 44px #000}
.session-media-menu-e23.hidden{display:none}.session-media-menu-e23 button{text-align:left}.session-play-mode-e23{width:48px;padding:9px 6px}.session-mode-menu-e23{right:0;width:220px}
.youtube-import-e23{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:8px 0}.youtube-import-e23 input{min-width:0}.youtube-import-e23 small{grid-column:1/-1;color:var(--muted);min-height:1.2em}.youtube-origin{color:#ff5a50;font-size:12px}.youtube-origin::before{content:'▶ ';font-weight:900}
@media(max-width:900px){.session-media-e23{order:3;width:100%;max-width:none;margin:5px 0 0}.project-panel>header{flex-wrap:wrap}}

/* E24.1 Agent network controls (Rutube/proxy fix) */
.agent-network-e24{margin-top:6px;font-size:12px;opacity:.9}
.agent-network-e24 summary{cursor:pointer}
.agent-network-e24 select,.agent-network-e24 input,.agent-network-e24 button{margin:6px 4px 0 0}
.agent-proxy-url-e24{min-width:230px}
.project-save-status{display:block;margin-top:3px;color:#9fb0ba;font-size:10px;font-weight:400}.project-save-status[data-state="dirty"]{color:#ffd166}.project-save-status[data-state="saving"]{color:#64b5ff}.project-save-status[data-state="saved-local"]{color:#65d58b}.project-save-status[data-state="error"]{color:#ff6677}#saveProjectButton{margin-left:auto;margin-right:8px}
.project-media-item.needs-relink{border-color:#c28a35;background:rgba(194,138,53,.08)}
.project-media-item.needs-relink [data-open]::after{content:' · исходник не подключён';color:#d6a85f;font-size:.78em}
.project-media-relink{color:#ffd08a;border-color:#9b6928!important;white-space:nowrap}
.storage-warning[data-state="uploading"]{color:#ffb66e}
.storage-warning[data-state="uploaded"]{color:#78e7ac}
.storage-warning[data-state="failed"]{color:#ff7777}
.server-media-retry{margin-top:.45rem;border-color:#ff781c}
.media-transfer-overlay{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;padding:18px;background:rgba(2,6,8,.78);backdrop-filter:blur(4px)}
.media-transfer-overlay.hidden{display:none}.media-transfer-card{width:min(560px,calc(100vw - 36px));overflow:hidden;border:1px solid #ff781c;border-radius:16px;background:#10191e;box-shadow:0 24px 90px #000;color:#edf5f8}
.media-transfer-card header{position:sticky;top:0;padding:18px 20px;border-bottom:1px solid #31424b;background:#10191e;font-size:20px}.media-transfer-body{display:grid;gap:8px;padding:20px}.media-transfer-body p{margin:0;overflow-wrap:anywhere}.media-transfer-project{font-size:20px;font-weight:800;color:#fff}.media-transfer-free{color:#9fd8bc}
.media-transfer-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:10px 0}.media-transfer-progress.hidden{display:none}.media-transfer-progress progress{grid-column:1/-1;width:100%;height:18px;accent-color:#ff781c}.media-transfer-percent{font-size:22px}.media-transfer-bytes{text-align:right;color:#adc0ca}.media-transfer-message{font-size:18px}.media-transfer-details{color:#90a4ae}.media-transfer-details.hidden{display:none}
.media-transfer-card footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #31424b;background:#0d1519}.media-transfer-card footer button{min-width:120px}.media-transfer-primary{border-color:#ff781c!important}
.server-media-transition{width:100%;margin:10px 0;border-color:#ff7a00;color:#fff;background:#172128}
.server-media-copy-state{display:grid;gap:5px;margin:10px 0;padding:10px 12px;border:1px solid #40515b;border-radius:10px;background:#10191e;color:#cfe4ef}
.server-media-copy-state span:first-child{color:#70e6a3}
