.workflow-page-root { display: flex; width: 100%; height: 100%; max-width: 100%; min-width: 0; min-height: 0; flex-direction: column; overflow: hidden; background: var(--workspace-content); } .workflow-stage-content { width: 100%; max-width: 100%; min-width: 0; min-height: 0; flex: 1 1 auto; overflow: hidden; } .workflow-overview-scroll { height: 100%; overflow-y: auto; padding: 28px 32px 64px; } .workflow-production-shell { display: grid; width: 100%; height: 100%; max-width: 100%; min-width: 0; min-height: 0; grid-template-rows: minmax(0, 1fr) clamp(168px, 20vh, 210px); overflow: hidden; background: var(--workspace-content); } .workflow-production-main { display: grid; width: 100%; max-width: 100%; min-width: 0; min-height: 0; grid-template-columns: 220px minmax(0, 1fr) minmax(300px, 370px); overflow: hidden; border-bottom: 1px solid var(--workspace-border); } .workflow-library-panel, .workflow-shot-editor, .workflow-preview-panel { min-width: 0; min-height: 0; background: var(--workspace-surface); animation: workflow-panel-enter var(--motion-panel) var(--motion-ease-out) both; } .workflow-shot-editor { animation-delay: 35ms; } .workflow-preview-panel { animation-delay: 70ms; } .workflow-library-panel { display: flex; flex-direction: column; gap: 10px; border-right: 1px solid var(--workspace-border); padding: 12px 10px 0; } .workflow-library-panel .ant-segmented { flex: 0 0 auto; } .workflow-library-scroll { max-width: 100%; min-height: 0; flex: 1 1 auto; overflow-x: hidden; overflow-y: auto; padding: 2px 0 14px; } .workflow-asset-groups { display: grid; min-width: 0; gap: 18px; } .workflow-asset-groups > section, .workflow-asset-list { min-width: 0; max-width: 100%; } .workflow-asset-groups h3 { margin: 0 8px 6px; color: color-mix(in srgb, var(--foreground) 47%, transparent); font-size: var(--fs-micro); font-weight: 650; letter-spacing: .04em; } .workflow-asset-groups h3 span { color: color-mix(in srgb, var(--foreground) 28%, transparent); font-weight: 500; } .workflow-asset-list { display: grid; gap: 2px; } .workflow-asset-row { display: flex; width: 100%; max-width: 100%; min-width: 0; min-height: 50px; align-items: center; gap: 10px; overflow: hidden; border-radius: var(--r-md); padding: 6px 8px; text-align: left; transition: background-color var(--motion-instant) ease-out, transform var(--motion-instant) ease-out; } .workflow-asset-row:hover:not(:disabled), .workflow-asset-row:focus-visible { background: var(--surface-hover); } .workflow-asset-row:hover:not(:disabled) { transform: translateX(2px); } .workflow-asset-row:focus-visible { outline: 2px solid var(--ring); outline-offset: -2px; } .workflow-asset-row.is-active { background: var(--workspace-accent-soft); } .workflow-asset-row:disabled { cursor: default; opacity: 1; } .workflow-asset-thumb { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border: 1px solid var(--workspace-border); border-radius: var(--r-sm); background: color-mix(in srgb, var(--workspace-surface-strong) 92%, var(--workspace-accent) 8%); color: color-mix(in srgb, var(--foreground) 44%, transparent); } .workflow-asset-thumb svg { width: 16px; height: 16px; } .workflow-asset-thumb img { width: 100%; height: 100%; object-fit: cover; } .workflow-asset-row strong { display: block; overflow: hidden; color: color-mix(in srgb, var(--foreground) 84%, transparent); font-size: var(--fs-caption); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; } .workflow-asset-row small { display: block; margin-top: 2px; overflow: hidden; color: color-mix(in srgb, var(--foreground) 39%, transparent); font-size: var(--fs-micro); text-overflow: ellipsis; white-space: nowrap; } .workflow-bound-dot { width: 7px; height: 7px; flex: 0 0 auto; border-radius: var(--r-full); background: var(--workspace-accent); } .workflow-simple-list { display: grid; gap: 3px; } .workflow-simple-list a, .workflow-simple-list button { display: flex; min-height: 44px; align-items: center; gap: 9px; border-radius: var(--r-md); padding: 7px 9px; color: color-mix(in srgb, var(--foreground) 56%, transparent); text-align: left; } .workflow-simple-list a:hover, .workflow-simple-list button:hover, .workflow-simple-list a.is-active, .workflow-simple-list button.is-active { background: var(--surface-hover); color: var(--foreground); } .workflow-simple-list a.is-active, .workflow-simple-list button.is-active { background: var(--workspace-accent-soft); } .workflow-simple-list a > span:first-child, .workflow-simple-list button > span:first-child { color: color-mix(in srgb, var(--foreground) 34%, transparent); font-size: var(--fs-micro); font-variant-numeric: tabular-nums; } .workflow-simple-list strong { display: block; overflow: hidden; font-size: var(--fs-caption); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; } .workflow-simple-list small { display: block; margin-top: 2px; color: color-mix(in srgb, var(--foreground) 38%, transparent); font-size: var(--fs-micro); } .workflow-shot-editor { display: flex; flex-direction: column; } .workflow-panel-header { display: flex; min-height: 48px; flex: 0 0 48px; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--workspace-border); padding: 0 14px; } .workflow-shot-heading { display: flex; min-width: 0; align-items: center; gap: 8px; } .workflow-shot-heading h2 { min-width: 0; overflow: hidden; font-size: var(--fs-body); font-weight: 650; text-overflow: ellipsis; white-space: nowrap; } .workflow-shot-number { flex: 0 0 auto; color: color-mix(in srgb, var(--foreground) 42%, transparent); font-size: var(--fs-caption); font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: .02em; } .workflow-preview-header { display: grid; flex: 0 0 auto; gap: 8px; border-bottom: 1px solid var(--workspace-border); padding: 9px 12px 10px; } .workflow-preview-header-row { display: flex; min-height: 28px; align-items: center; justify-content: space-between; gap: 10px; } .workflow-preview-title { display: flex; align-items: center; gap: 7px; font-size: var(--fs-caption); font-weight: 650; } .workflow-preview-stage-switch { width: 100%; } .workflow-shot-form { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; } .workflow-shot-form-scroll { min-height: 0; flex: 1 1 auto; overflow-y: auto; padding: 14px 18px 18px; } .workflow-shot-form .ant-form-item { margin-bottom: 14px; } .workflow-shot-form .ant-form-item-label { padding-bottom: 5px; } .workflow-shot-form .ant-form-item-label > label, .workflow-field-label { color: color-mix(in srgb, var(--foreground) 52%, transparent); font-size: var(--fs-micro); font-weight: 560; } .workflow-form-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; } .workflow-form-section-heading > span { color: color-mix(in srgb, var(--foreground) 82%, transparent); font-size: var(--fs-caption); font-weight: 700; } .workflow-form-section-heading > small { overflow: hidden; color: color-mix(in srgb, var(--foreground) 36%, transparent); font-size: var(--fs-micro); text-overflow: ellipsis; white-space: nowrap; } .workflow-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; } .workflow-form-grid.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); } .workflow-disclosure { overflow: hidden; margin-bottom: 14px; border: 1px solid var(--workspace-border); border-radius: var(--r-lg); background: color-mix(in srgb, var(--workspace-surface-strong) 76%, transparent); transition: border-color var(--motion-instant) ease-out, background-color var(--motion-instant) ease-out, box-shadow var(--motion-instant) ease-out; } .workflow-disclosure:hover { border-color: var(--workspace-border-strong); } .workflow-disclosure[open] { border-color: color-mix(in srgb, var(--workspace-accent) 36%, var(--workspace-border)); background: color-mix(in srgb, var(--workspace-surface-strong) 90%, transparent); box-shadow: 0 8px 24px color-mix(in srgb, var(--foreground) 5%, transparent); } .workflow-disclosure > summary { display: flex; min-height: 58px; cursor: pointer; list-style: none; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 12px; transition: background-color var(--motion-instant) ease-out; } .workflow-disclosure > summary::-webkit-details-marker { display: none; } .workflow-disclosure > summary:hover { background: var(--surface-hover); } .workflow-disclosure > summary:focus-visible { outline: 2px solid var(--ring); outline-offset: -2px; } .workflow-disclosure-heading { display: flex; min-width: 0; align-items: center; gap: 10px; } .workflow-disclosure-heading strong { display: block; font-size: var(--fs-caption); font-weight: 650; } .workflow-disclosure-heading small { display: block; margin-top: 2px; color: color-mix(in srgb, var(--foreground) 40%, transparent); font-size: var(--fs-micro); } .workflow-disclosure-icon { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: var(--r-md); background: var(--workspace-accent-soft); color: var(--workspace-accent); } .workflow-disclosure-icon svg { width: 15px; height: 15px; } .workflow-disclosure-summary { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: 5px; color: color-mix(in srgb, var(--foreground) 48%, transparent); } .workflow-disclosure-summary > span { max-width: 104px; overflow: hidden; border: 1px solid var(--workspace-border); border-radius: var(--r-full); background: var(--workspace-surface); padding: 3px 7px; font-size: var(--fs-micro); line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; } .workflow-disclosure-summary > span.is-model { max-width: 150px; } .workflow-disclosure.is-advanced .workflow-disclosure-summary > span { max-width: 190px; } .workflow-disclosure-chevron { width: 15px; height: 15px; flex: 0 0 auto; margin-left: 2px; transition: transform var(--motion-instant) var(--motion-ease-out); } .workflow-disclosure[open] .workflow-disclosure-chevron { transform: rotate(180deg); } .workflow-disclosure-body { border-top: 1px solid var(--workspace-border); animation: workflow-disclosure-reveal var(--motion-state) var(--motion-ease-out) both; } .workflow-disclosure-content { padding: 13px 14px 4px; } .workflow-disclosure .ant-form-item { margin-bottom: 10px; } .workflow-model-picker.canvas-composer-model-picker { width: 100%; height: 44px; justify-content: space-between; border: 1px solid var(--workspace-border-strong); border-radius: var(--r-md); background: var(--workspace-surface-strong); padding-inline: 11px; transition: border-color var(--motion-instant) ease-out, background-color var(--motion-instant) ease-out, box-shadow var(--motion-instant) ease-out; } .workflow-model-picker.canvas-composer-model-picker:hover { border-color: color-mix(in srgb, var(--workspace-accent) 48%, var(--workspace-border-strong)); } .workflow-model-picker.canvas-composer-model-picker:focus-visible, .workflow-model-picker.canvas-composer-model-picker[aria-expanded="true"] { border-color: color-mix(in srgb, var(--workspace-accent) 72%, var(--workspace-border-strong)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--workspace-accent) 18%, transparent) !important; } .workflow-model-picker .canvas-model-picker-chevron { width: 17px; height: 17px; color: color-mix(in srgb, var(--foreground) 72%, transparent); } .workflow-settings-section + .workflow-settings-section { margin-top: 4px; border-top: 1px solid var(--workspace-border); padding-top: 12px; } .workflow-settings-section-title { margin-bottom: 9px; color: color-mix(in srgb, var(--foreground) 58%, transparent); font-size: var(--fs-micro); font-weight: 650; letter-spacing: .02em; } .workflow-bound-assets { margin-bottom: 14px; } .workflow-bound-assets-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .workflow-bound-assets-heading small { color: color-mix(in srgb, var(--foreground) 34%, transparent); font-size: var(--fs-micro); } .workflow-bound-assets-content { display: flex; min-height: 48px; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 5px; border: 1px dashed var(--workspace-border-strong); border-radius: var(--r-md); padding: 8px 10px; color: color-mix(in srgb, var(--foreground) 38%, transparent); font-size: var(--fs-caption); transition: border-color var(--motion-instant) ease-out; } .workflow-bound-assets-content:hover { border-color: var(--workspace-border-strong); } .workflow-bound-asset-chip { display: flex; min-width: 180px; max-width: 280px; flex: 1 1 220px; align-items: center; overflow: hidden; border: 1px solid var(--workspace-border); border-radius: var(--r-sm); background: var(--workspace-surface); color: color-mix(in srgb, var(--foreground) 72%, transparent); font-size: var(--fs-tiny); } .workflow-bound-asset-preview { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; overflow: hidden; border-right: 1px solid var(--workspace-border); background: color-mix(in srgb, var(--workspace-surface-strong) 92%, var(--workspace-accent) 8%); color: color-mix(in srgb, var(--foreground) 42%, transparent); } .workflow-bound-asset-preview .ant-image, .workflow-bound-asset-preview .ant-image-img { display: block; width: 40px !important; height: 40px !important; } .workflow-bound-asset-preview .ant-image-img { object-fit: cover; } .workflow-bound-asset-preview .ant-image-mask { font-size: var(--fs-micro); } .workflow-bound-asset-preview > svg { width: 16px; height: 16px; } .workflow-bound-asset-copy { display: grid; min-width: 0; flex: 1 1 auto; gap: 2px; padding: 5px 8px; } .workflow-bound-asset-copy em { color: color-mix(in srgb, var(--foreground) 54%, transparent); font-size: var(--fs-micro); font-style: normal; font-weight: 650; } .workflow-bound-asset-copy strong { overflow: hidden; color: color-mix(in srgb, var(--foreground) 76%, transparent); font-size: var(--fs-tiny); font-weight: 550; text-overflow: ellipsis; white-space: nowrap; } .workflow-bound-asset-chip > button { display: grid; width: 25px; height: 40px; flex: 0 0 25px; place-items: center; border-left: 1px solid var(--workspace-border); color: color-mix(in srgb, var(--foreground) 42%, transparent); } .workflow-bound-asset-chip > button:hover:not(:disabled) { background: var(--surface-hover); color: var(--foreground); } .workflow-bound-asset-chip > button:focus-visible { outline: 2px solid var(--ring); outline-offset: -2px; } .workflow-bound-asset-chip > button > svg { width: 13px; height: 13px; } .workflow-shot-mention-container { min-height: 82px; overflow: visible; border: 1px solid var(--workspace-border-strong); border-radius: var(--r-md); background: var(--workspace-surface); transition: border-color var(--motion-instant) ease-out, box-shadow var(--motion-instant) ease-out; } .workflow-shot-mention-container.is-scene { min-height: 116px; } .workflow-shot-mention-container:focus-within { border-color: var(--workspace-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--workspace-accent) 14%, transparent); } .workflow-shot-mention-editor { display: block; width: 100%; min-height: 80px; max-height: 144px; resize: vertical; overflow-y: auto; border: 0; background: transparent; padding: 8px 11px; color: var(--foreground); font-size: var(--fs-body); line-height: 1.55; outline: 0; } .workflow-shot-mention-editor.is-scene { min-height: 114px; max-height: 220px; } .workflow-shot-mention-editor:empty::before { color: color-mix(in srgb, var(--foreground) 32%, transparent); } .workflow-editor-actions { display: flex; min-height: 58px; flex: 0 0 58px; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--workspace-border); padding: 9px 16px; background: color-mix(in srgb, var(--workspace-surface) 92%, transparent); box-shadow: 0 -8px 24px color-mix(in srgb, var(--foreground) 4%, transparent); backdrop-filter: blur(14px); } .workflow-generation-cost { display: inline-flex; min-width: 0; align-items: center; gap: 5px; color: color-mix(in srgb, var(--foreground) 50%, transparent); font-size: var(--fs-label); } .workflow-generation-cost svg { color: var(--status-warning); } .workflow-preview-panel { display: flex; flex-direction: column; border-left: 1px solid var(--workspace-border); } .workflow-preview-scroll { min-height: 0; flex: 1 1 auto; overflow-y: auto; padding: 14px; } .workflow-preview-media, .workflow-media-empty { width: 100%; aspect-ratio: 16 / 9; border-radius: var(--r-lg); background: color-mix(in srgb, var(--foreground) 5%, var(--workspace-surface)); object-fit: cover; transition: border-color var(--motion-instant) ease-out, transform var(--motion-instant) var(--motion-ease-out); } video.workflow-preview-media { display: block; height: auto; aspect-ratio: auto; object-fit: contain; } .workflow-preview-media-button { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: var(--r-lg); background: transparent; text-align: left; cursor: pointer; } .workflow-preview-media-button:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; } .workflow-preview-media-button:hover .workflow-preview-media { transform: scale(1.005); } .workflow-video-placeholder { display: grid; place-items: center; border: 1px solid var(--workspace-border); color: color-mix(in srgb, var(--foreground) 30%, transparent); } .workflow-video-placeholder svg { width: 34px; height: 34px; } .workflow-preview-expand, .workflow-video-play { position: absolute; display: grid; place-items: center; color: #fff; background: color-mix(in srgb, #101114 74%, transparent); box-shadow: 0 2px 10px color-mix(in srgb, #000 24%, transparent); transition: opacity var(--motion-instant) var(--motion-ease-out), transform var(--motion-instant) var(--motion-ease-out); } .workflow-preview-expand { top: 10px; right: 10px; width: 30px; height: 30px; border-radius: var(--r-md); opacity: .78; } .workflow-video-play { top: 50%; left: 50%; width: 48px; height: 48px; border: 1px solid color-mix(in srgb, #fff 30%, transparent); border-radius: var(--r-full); transform: translate(-50%, -50%) scale(.96); opacity: .94; } .workflow-preview-media-button:hover .workflow-preview-expand, .workflow-preview-media-button:focus-visible .workflow-preview-expand, .workflow-video-poster:hover .workflow-video-play, .workflow-video-poster:focus-visible .workflow-video-play { opacity: 1; } .workflow-video-poster:hover .workflow-video-play, .workflow-video-poster:focus-visible .workflow-video-play { transform: translate(-50%, -50%) scale(1); } .workflow-image-preview-modal { display: block; width: 100%; max-height: min(76vh, 760px); object-fit: contain; background: var(--workspace-surface-strong); } .workflow-media-empty { display: grid; place-content: center; justify-items: center; gap: 10px; border: 1px dashed var(--workspace-border-strong); color: color-mix(in srgb, var(--foreground) 36%, transparent); text-align: center; } .workflow-media-empty > span { display: grid; width: 54px; height: 54px; place-items: center; border-radius: var(--r-full); background: color-mix(in srgb, var(--workspace-surface-strong) 88%, var(--workspace-accent) 12%); color: var(--workspace-accent); } .workflow-media-empty p { max-width: 220px; font-size: var(--fs-caption); line-height: 1.6; } .workflow-preview-summary { margin-top: 12px; border-block: 1px solid var(--workspace-border); padding: 11px 2px; } .workflow-preview-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; } .workflow-history { margin-top: 16px; } .workflow-history-title { margin-bottom: 7px; color: color-mix(in srgb, var(--foreground) 58%, transparent); font-size: var(--fs-caption); font-weight: 650; } .workflow-history button { display: flex; width: 100%; min-height: 54px; align-items: center; gap: 9px; border: 1px solid var(--workspace-border); border-radius: var(--r-md); padding: 6px; text-align: left; transition: border-color var(--motion-instant) ease-out, background-color var(--motion-instant) ease-out, transform var(--motion-instant) ease-out; } .workflow-history button + button { margin-top: 7px; } .workflow-history button:hover, .workflow-history button.is-active { border-color: var(--workspace-border-strong); background: var(--surface-hover); } .workflow-history button:hover { transform: translateY(-1px); } .workflow-history button.is-active { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--workspace-accent) 55%, transparent); } .workflow-history img, .workflow-history video, .workflow-history-placeholder { width: 66px; height: 40px; flex: 0 0 auto; border-radius: var(--r-sm); background: color-mix(in srgb, var(--foreground) 6%, transparent); object-fit: cover; } .workflow-history-placeholder { display: grid; place-items: center; color: color-mix(in srgb, var(--foreground) 30%, transparent); } .workflow-history-placeholder svg { width: 16px; height: 16px; } .workflow-history strong { display: block; font-size: var(--fs-caption); font-weight: 600; } .workflow-history small { display: block; margin-top: 2px; color: color-mix(in srgb, var(--foreground) 38%, transparent); font-size: var(--fs-micro); } .workflow-shot-timeline { display: flex; width: 100%; max-width: 100%; min-width: 0; min-height: 0; flex-direction: column; overflow: hidden; background: var(--workspace-surface); } .workflow-shot-timeline > header { display: flex; min-height: 42px; flex: 0 0 42px; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px; } .workflow-shot-timeline > header strong { font-size: var(--fs-caption); font-weight: 650; } .workflow-shot-timeline > header span { margin-left: 8px; color: color-mix(in srgb, var(--foreground) 42%, transparent); font-size: var(--fs-micro); } .workflow-shot-track { display: flex; width: 100%; max-width: 100%; min-width: 0; min-height: 0; box-sizing: border-box; flex: 1 1 auto; gap: 8px; overflow-x: auto; overflow-y: hidden; padding: 0 14px 12px; } .workflow-timeline-shot, .workflow-add-shot-card { width: 184px; min-width: 184px; overflow: hidden; border: 1px solid var(--workspace-border); border-radius: var(--r-md); background: var(--workspace-surface-strong); text-align: left; transition: border-color var(--motion-instant) ease-out, background-color var(--motion-instant) ease-out, box-shadow var(--motion-instant) ease-out; } .workflow-timeline-shot { position: relative; display: flex; flex-direction: column; } .workflow-timeline-shot:hover, .workflow-timeline-shot:focus-visible { border-color: var(--workspace-border-strong); background: var(--surface-hover); } .workflow-timeline-shot:focus-visible, .workflow-add-shot-card:focus-visible { outline: 2px solid var(--ring); outline-offset: -2px; } .workflow-timeline-shot.is-active { border-color: var(--workspace-accent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--workspace-accent) 42%, transparent); } .workflow-timeline-media { display: grid; height: 72px; flex: 0 0 72px; place-items: center; overflow: hidden; background: color-mix(in srgb, var(--foreground) 5%, var(--workspace-surface)); color: color-mix(in srgb, var(--foreground) 25%, transparent); } .workflow-timeline-media img, .workflow-timeline-media video { width: 100%; height: 100%; object-fit: cover; } .workflow-timeline-media > svg { width: 20px; height: 20px; } .workflow-timeline-copy { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; padding: 8px 10px 34px; } .workflow-timeline-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .workflow-timeline-heading strong { font-size: var(--fs-micro); font-weight: 700; font-variant-numeric: tabular-nums; } .workflow-timeline-heading b { color: var(--foreground); font-size: var(--fs-caption); font-weight: 750; font-variant-numeric: tabular-nums; } .workflow-timeline-title { display: block; min-height: 16px; overflow: hidden; margin-top: 5px; color: color-mix(in srgb, var(--foreground) 72%, transparent); font-size: var(--fs-label); font-style: normal; font-weight: 550; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; } .workflow-timeline-meta { display: block; overflow: hidden; margin-top: 4px; color: color-mix(in srgb, var(--foreground) 38%, transparent); font-size: var(--fs-micro); text-overflow: ellipsis; white-space: nowrap; } .workflow-timeline-status { position: absolute; right: 10px; bottom: 8px; left: 10px; display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 6px; } .workflow-timeline-status > span:first-child { min-width: 0; overflow: hidden; color: color-mix(in srgb, var(--foreground) 45%, transparent); font-size: var(--fs-micro); text-overflow: ellipsis; white-space: nowrap; } .workflow-add-shot-card { display: grid; place-content: center; justify-items: center; gap: 6px; border-style: dashed; color: color-mix(in srgb, var(--foreground) 42%, transparent); text-align: center; } .workflow-add-shot-card:hover { border-color: var(--workspace-accent); color: var(--foreground); } .workflow-add-shot-card:hover { background: var(--workspace-accent-soft); } .workflow-add-shot-card span { font-size: var(--fs-caption); } .workflow-empty-shot { display: grid; height: 100%; place-items: center; border: 1px dashed var(--workspace-border-strong); margin: 14px; border-radius: var(--r-lg); } .workflow-workbench-loading { display: grid; height: 100%; place-items: center; color: color-mix(in srgb, var(--foreground) 44%, transparent); font-size: var(--fs-caption); } @keyframes workflow-panel-enter { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } } @keyframes workflow-disclosure-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } } @media (max-width: 1280px) { .workflow-production-main { grid-template-columns: 204px minmax(0, 1fr) minmax(280px, 320px); } .workflow-disclosure-summary > span.is-model { display: none; } } @media (max-width: 1050px) { .workflow-production-main { grid-template-columns: minmax(0, 1fr) 300px; } .workflow-library-panel { display: none; } } @media (max-width: 760px) { .workflow-production-shell { grid-template-rows: minmax(0, 1fr) 148px; } .workflow-production-main { display: block; overflow: hidden; } .workflow-shot-editor { height: 100%; } .workflow-preview-panel { display: none; } .workflow-form-grid, .workflow-form-grid.is-three { grid-template-columns: 1fr; } .workflow-disclosure-summary > span { display: none; } .workflow-shot-form-scroll { padding-inline: 14px; } .workflow-timeline-shot, .workflow-add-shot-card { width: 138px; min-width: 138px; } .workflow-timeline-media { height: 52px; flex-basis: 52px; } .workflow-timeline-title, .workflow-timeline-meta, .workflow-timeline-status > span:first-child { display: none; } .workflow-timeline-copy { padding: 6px 8px 30px; } .workflow-timeline-status { right: 8px; bottom: 6px; left: 8px; justify-content: flex-end; } .workflow-overview-scroll { padding: 20px 16px 48px; } } @media (prefers-reduced-motion: reduce) { .workflow-library-panel, .workflow-shot-editor, .workflow-preview-panel, .workflow-disclosure-body { animation: none; } .workflow-asset-row, .workflow-preview-media, .workflow-history button, .workflow-timeline-shot, .workflow-add-shot-card, .workflow-disclosure-chevron { transition: none; } }