/* Director canvas: a single glass shell and restrained internal layering. */
html:root{--canvas-shell:linear-gradient(140deg,#ffffffb8,#eaf2fc66 65%,#e9e8fc55);--canvas-inner:#ffffff42;--canvas-field:#ffffffbd;--canvas-border:#ffffffd9;--canvas-shadow:0 16px 40px #344e771c,inset 0 1px 0 #ffffffdb;--action-blue:#0071e3;--action-hover:#0065cb}
html body #root#root .react-flow{background:radial-gradient(ellipse at 25% 25%,#5295ed0d,transparent 60%),radial-gradient(ellipse at 85% 75%,#9975ed0c,transparent 65%),var(--read-bg)!important}
html body #root#root .react-flow__node:not(.react-flow__node-group){background:var(--canvas-shell)!important;border:1px solid var(--canvas-border)!important;border-radius:24px!important;box-shadow:var(--canvas-shadow)!important;backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);padding:12px!important}
html body #root#root .react-flow__node.selected{border-color:var(--read-blue)!important;box-shadow:0 0 0 3px var(--glass-ring),var(--canvas-shadow)!important}
html body #root#root .react-flow__node :is(.seedance-v3-node,.media-node){background:transparent!important;border:0!important;border-radius:18px!important;box-shadow:none!important}
html body #root#root :is(.seedance-v3-stage,.seedance-v3-toolbar,.seedance-v3-settings-popover,.seedance-prompt-ai-panel){background:var(--canvas-inner)!important;border:1px solid var(--canvas-border)!important;border-radius:18px!important;box-shadow:none!important;color:var(--read-text)!important}
html body #root#root :is(.seedance-v3-meta,.media-node-meta){background:transparent!important;border:0!important;box-shadow:none!important;color:var(--read-text)!important}
html body #root#root :is(.seedance-v3-prompt-area,.seedance-v3-material-empty,.media-node-preview,.prompt-simple-editor){background:var(--canvas-inner)!important;border:1px solid var(--canvas-border)!important;border-radius:15px!important;box-shadow:none!important}
html body #root#root .react-flow__node :is(textarea,input:not([type=range]):not([type=checkbox]),select){background:var(--canvas-field)!important;border-color:var(--read-line)!important;box-shadow:none!important;color:var(--read-text)!important}
html body #root#root :is(.seedance-v3-title svg,.seedance-prompt-ai-button svg,.seedance-v3-material-add-icon,.seedance-v3-kicker,.seedance-v3-auto,.seedance-v3-material-index){color:var(--read-blue)!important}
html body #root#root :is(.seedance-v3-mode-badge,.seedance-v3-points-preview,.seedance-v3-option-grid button.active,.seedance-v3-option-grid button.selected){background:var(--read-select)!important;border-color:var(--read-line)!important;color:var(--read-blue)!important;box-shadow:none!important}
html body #root#root .seedance-v3-mode-badge{font-size:14px!important;line-height:1.5!important}
html body #root#root :is(.canvas-bottom-toolbar,.react-flow__controls){background:var(--canvas-shell)!important;border:1px solid var(--canvas-border)!important;box-shadow:var(--canvas-shadow)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:18px!important}
html body #root#root :is(.canvas-bottom-toolbar button,.react-flow__controls-button,.seedance-v3-toolbar button){background:transparent!important;color:var(--read-text)!important;border-color:var(--read-line)!important;box-shadow:none!important}
html body #root#root .canvas-bottom-toolbar button.active{background:var(--read-select)!important;border-color:var(--read-blue)!important;color:var(--read-blue)!important}
html body #root#root .react-flow__handle{background:var(--read-blue)!important;border:2px solid var(--read-control)!important;box-shadow:0 0 0 1px var(--glass-ring)!important}
html body #root#root :is(.video-creation-guide-steps li,.video-workbench-summary){background:var(--canvas-shell)!important;border:1px solid var(--canvas-border)!important;box-shadow:none!important;border-radius:18px!important;color:var(--read-text)!important}
html body #root#root .video-creation-guide-steps li.is-active{background:var(--read-select)!important;border-color:var(--read-blue)!important}
html body #root#root :is(.video-creation-guide-steps li>span,.video-workbench-steps button>span){background:var(--canvas-inner)!important;color:var(--read-muted)!important;border:1px solid var(--read-line)!important;box-shadow:none!important}
html body #root#root :is(.video-creation-guide-steps li.is-active>span,.video-workbench-steps button.active>span){background:var(--read-select)!important;border-color:var(--read-blue)!important;color:var(--read-blue)!important}
html body #root#root .video-creation-guide-steps strong{font-size:16px!important;color:var(--read-text)!important}
html body #root#root .video-creation-guide-steps small{font-size:14px!important;color:var(--read-muted)!important}
html body #root#root :is(.video-workbench-note,.video-workbench-upload-hint){background:var(--canvas-inner)!important;border-color:var(--read-line)!important;color:var(--read-muted)!important}
/* Primary buttons have one fill, one border and one shadow; never a white inset bevel. */
html body #root#root :is(.cw-v3-primary,.img-primary,.img-submit button,.video-workbench-actions .is-primary,.studio-disclosure-hint,.video-submit-fab,.video-node-submit,.seedance-prompt-ai-actions .primary){background:var(--action-blue)!important;background-image:none!important;border:1px solid var(--action-blue)!important;color:#fff!important;box-shadow:0 3px 9px #0071e31a!important;outline:none;isolation:isolate;text-shadow:none!important;filter:none!important}
html body #root#root :is(.cw-v3-primary,.img-primary,.img-submit button,.video-workbench-actions .is-primary,.studio-disclosure-hint,.video-submit-fab,.video-node-submit)::before,html body #root#root :is(.cw-v3-primary,.img-primary,.img-submit button,.video-workbench-actions .is-primary,.studio-disclosure-hint,.video-submit-fab,.video-node-submit)::after{content:none!important;display:none!important}
html body #root#root .studio-disclosure[open] .studio-disclosure-hint{background:var(--button-fill)!important;border-color:var(--read-line)!important;color:var(--read-blue)!important;box-shadow:none!important}
html body #root#root :is(.video-submit-fab-icon,.video-submit-fab-label){color:inherit!important;text-shadow:none!important}
html body #root#root .video-submit-fab{animation:none!important;box-shadow:0 8px 24px #0071e32b!important}
@media(hover:hover) and (pointer:fine){html body #root#root :is(.cw-v3-primary,.img-primary,.img-submit button,.video-workbench-actions .is-primary,.studio-disclosure:not([open]) .studio-disclosure-hint,.video-submit-fab,.video-node-submit):hover:not(:disabled){background:var(--action-hover)!important;border-color:var(--action-hover)!important;box-shadow:0 5px 14px #0071e32b!important}html body #root#root :is(.cw-v3-primary,.img-primary,.img-submit button,.video-workbench-actions .is-primary,.video-submit-fab,.video-node-submit):active:not(:disabled){box-shadow:0 1px 4px #0071e31a!important;translate:0 1px!important}}
html body #root#root :is(.cw-v3-primary,.img-primary,.img-submit button,.video-workbench-actions .is-primary,.video-submit-fab,.video-node-submit):focus-visible{outline:3px solid var(--read-blue)!important;outline-offset:3px;box-shadow:0 0 0 5px var(--read-focus)!important}
@media(max-width:760px){html body #root#root .react-flow__node:not(.react-flow__node-group){backdrop-filter:none;-webkit-backdrop-filter:none}html body #root#root .canvas-bottom-toolbar{backdrop-filter:none;-webkit-backdrop-filter:none}}
@supports not (backdrop-filter:blur(1px)){html body #root#root .react-flow__node:not(.react-flow__node-group){background:var(--read-panel)!important}}
html body #root#root :is(.studio-preview-badge,.seedance-v3-material-add-icon){background:var(--read-select)!important;border-color:var(--read-line)!important;color:var(--read-blue)!important}
html body #root#root .canvas-bottom-toolbar button.active svg{color:var(--read-blue)!important;stroke:currentColor!important}
html body #root#root :is(.seedance-prompt-ai-entry-icon,.seedance-prompt-ai-entry-icon svg){color:var(--read-blue)!important}
html body #root#root :is(.topbar-user-points strong,.seedance-v3-stage-top strong,.video-creation-guide-copy>small){color:var(--read-blue)!important}
html body #root#root .video-view-switch button[aria-pressed=true]{background:var(--read-select)!important;border-color:var(--read-blue)!important;color:var(--read-blue)!important;box-shadow:none!important}
html body #root#root :is(.seedance-v3-prompt-head,.seedance-v3-prompt-head span,.media-node-empty,.media-node-empty span,.video-node-empty,.video-node-empty span,.seedance-v3-settings-label){color:var(--read-muted)!important}
html body #root#root :is(.media-node,.seedance-v3-node) :is(small,p,label){color:var(--read-muted)!important}
html body #root#root :is(.media-node-title,.seedance-v3-title){color:var(--read-text)!important}
/* Optical depth: lower surface opacity, never lower content opacity. */
html:root{--depth-ambient:radial-gradient(ellipse at 12% 16%,#c5dafa99,transparent 57%),radial-gradient(ellipse at 90% 68%,#d6d0f780,transparent 54%),#eef2f8;--depth-glass:linear-gradient(135deg,#ffffff94,#eaf2ff66 62%,#f3ecff55);--depth-inner:linear-gradient(135deg,#ffffff70,#ffffff30);--depth-edge:#ffffffdf;--depth-shadow:0 16px 42px #45618c16,inset 0 1px 0 #ffffffed;--canvas-shell:linear-gradient(140deg,#ffffff85,#dceaff47 65%,#e7dffd40);--canvas-inner:#ffffff24;--canvas-field:#ffffffa8;--canvas-shadow:0 18px 42px #344e7726,inset 0 1px 0 #fffffff0;--canvas-border:#ffffffed}
html body #root#root :is(.studio-shell,.img-studio){background:var(--depth-ambient)!important}
html body #root#root :is(.cw-v3-workspace,.img-panel,.video-workbench-panel,.as-card){background:var(--depth-glass)!important;border:1px solid var(--depth-edge)!important;box-shadow:var(--depth-shadow)!important;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%)}
html body #root#root :is(.studio-disclosure,.studio-model-section){background:var(--depth-inner)!important;border-color:var(--depth-edge)!important;box-shadow:0 8px 24px #45618c0c,inset 0 1px 0 #ffffff70!important}
html body #root#root :is(.cw-v3-steps,.img-steps,.video-workbench-steps) button:not(.active):not([aria-current=step]){background:var(--depth-inner)!important;border-color:var(--depth-edge)!important}
html body #root#root .react-flow{background:var(--depth-ambient)!important}
html body #root#root .react-flow__node:not(.react-flow__node-group){backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%)}
/* Director heading follows the same scale as writing and image workspaces. */
html body #root#root .video-creation-guide-copy>small{font-size:14px!important;line-height:1.6!important;font-weight:500!important}
html body #root#root .video-creation-guide-copy h1{font-size:clamp(30px,2.8vw,40px)!important;line-height:1.3!important;font-weight:600!important;letter-spacing:-.025em!important;margin:12px 0!important;color:var(--read-text)!important}
html body #root#root .video-creation-guide-copy p{font-size:16px!important;line-height:1.75!important;color:var(--read-muted)!important;margin:0!important}
/* Compensated sizes are bounded so zooming out still provides an overview. */
html body #root#root .react-flow__node :is(.media-node-title,.seedance-v3-title){font-size:calc(17px * var(--canvas-type-scale,1))!important;line-height:1.45!important}
html body #root#root .react-flow__node :is(.media-node-empty strong,.result-video-empty strong,.seedance-v3-material-empty strong){font-size:calc(16px * var(--canvas-type-scale,1))!important;line-height:1.5!important;color:var(--read-text)!important}
html body #root#root .react-flow__node :is(.media-node-empty>span,.result-video-empty>span,.video-ready-note){font-size:calc(14px * var(--canvas-type-scale,1))!important;line-height:1.65!important;color:var(--read-muted)!important;text-align:center;white-space:normal;overflow-wrap:anywhere}
html body #root#root .react-flow__node .result-video-empty{padding:20px!important;box-sizing:border-box}
html body #root#root .react-flow__node textarea{font-size:calc(16px * var(--canvas-type-scale,1))!important;line-height:1.7!important;padding:16px!important;min-height:190px;box-sizing:border-box}
html body #root#root .react-flow__node textarea::placeholder{font-size:inherit!important;line-height:inherit!important}
html body #root#root .react-flow__node .video-ready-note{padding:12px 14px!important;min-height:44px;box-sizing:border-box}
html body #root#root .react-flow__node :is(.seedance-v3-prompt-head,.seedance-v3-kicker,.seedance-v3-stage-top strong){font-size:calc(14px * var(--canvas-type-scale,1))!important;line-height:1.5!important}
@media(max-width:760px){html body #root#root .video-creation-guide-copy h1{font-size:30px!important}html body #root#root :is(.cw-v3-workspace,.img-panel,.video-workbench-panel,.as-card){backdrop-filter:none;-webkit-backdrop-filter:none}html body #root#root .react-flow__node:not(.react-flow__node-group){backdrop-filter:none;-webkit-backdrop-filter:none}}
@supports not (backdrop-filter:blur(1px)){html body #root#root :is(.cw-v3-workspace,.img-panel,.video-workbench-panel,.as-card){background:var(--read-panel)!important}}
/* Higher specificity replaces legacy field rules that still force 17px and opaque white. */
html body #root#root#root .react-flow__node textarea{font-size:calc(16px * var(--canvas-type-scale,1))!important;line-height:1.7!important;background:var(--canvas-field)!important;color:var(--read-text)!important}
html body #root#root#root .react-flow__node textarea::placeholder{font-size:inherit!important;line-height:inherit!important}
html body #root#root .react-flow__node :is(.media-node-title>span,.seedance-v3-title>span){font-size:inherit!important;line-height:inherit!important}
html:root{--read-control:#ffffffb8}
html body #root#root .result-video-preview:has(.result-video-empty){background:var(--canvas-inner)!important}
html body #root#root .result-video-empty{background:transparent!important}
html body #root#root .react-flow__node .seedance-v3-material-empty>span:not(.seedance-v3-material-add-icon){font-size:calc(14px * var(--canvas-type-scale,1))!important;line-height:1.65!important;color:var(--read-muted)!important}
