/* Interaction and layout polish shared by the actual workspaces. */
.vz-app{--vz-motion:220ms;--vz-ease:cubic-bezier(.2,.75,.2,1)}
.vz-content{min-width:0;animation:none}
.vz-sidebar{position:relative;overflow-y:auto}.vz-nav{position:relative;isolation:isolate}.vz-nav button{position:relative;z-index:1;transition:color .18s,transform .18s,background-color .18s}.vz-nav button:hover{transform:translateX(2px)}.vz-nav button.active{background:transparent!important}.vz-nav-indicator{position:absolute;left:10px;right:10px;border:1px solid #5f86fa35;border-radius:10px;background:linear-gradient(100deg,#5f86fa2e,#648dff0d);box-shadow:inset 3px 0 #5a7aff;pointer-events:none;z-index:0}.vz-video-rail-label{margin-top:24px}.vz-video-tabs>button,.vz-segment>button,.vz-layer-tabs>button{transition:color .22s,background-color .22s,box-shadow .22s}.vz-btn,.vz-control,select,textarea{transition:border-color .18s,box-shadow .18s,background-color .18s}.vz-btn:hover{box-shadow:0 4px 16px #5479ca18}.vz-btn.primary{background:linear-gradient(115deg,#4d72f4,#376bf2);box-shadow:0 4px 16px #406bf52d}.vz-btn.primary:hover{box-shadow:0 5px 22px #406bf54d}.vz-control:focus{border-color:#6f92ff;box-shadow:0 0 0 3px #6889fc19;outline:none}.vz-source-empty{height:100%;min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:40px;color:var(--vz-text)}.vz-source-empty>span{display:grid;place-items:center;width:72px;height:72px;background:linear-gradient(140deg,#7298ff17,#7298ff05);border:1px solid #86a2ed33;border-radius:22px;margin-bottom:6px}.vz-source-empty>span svg{width:28px;height:28px;color:#5c83e8}.vz-source-empty h1{font-size:27px;font-weight:600;letter-spacing:-.7px;margin:0}.vz-source-empty p{font-size:15px;line-height:1.65;color:var(--vz-muted);margin:0 0 14px;max-width:410px}.vz-source-empty>div{display:flex;gap:10px}.vz-edit-layout{height:100%;min-height:0}.vz-edit-stage{height:100%;min-height:0;overflow:hidden;background-color:var(--vz-bg,#eff3f8);background-image:radial-gradient(#8295b721 1px,transparent 1px);background-size:18px 18px}.vz-edit-image{object-fit:contain!important;max-width:calc(100% - 50px);max-height:calc(100% - 100px);transform-origin:center;user-select:none}.vz-layer-opacity{display:grid;grid-template-columns:1fr auto;gap:5px;align-items:center;font-size:12px;min-width:100px}.vz-layer-opacity input{grid-column:1/-1;width:100%;accent-color:#5980f8}.vz-layer-opacity output{font-variant-numeric:tabular-nums;color:var(--vz-muted)}.vz-layer-lock{border:0;background:transparent;color:var(--vz-muted);cursor:pointer;padding:3px}.vz-layer-lock svg{width:15px;height:15px}.vz-layer img[src=""],.vz-layer img:not([src]){visibility:hidden}.vz-native-mask-overlay{object-fit:fill;z-index:3}.vz-edit-hint{max-width:420px;line-height:1.5}.vz-upload-title p,.vz-dropzone p,.vz-source-choices small,.vz-capabilities small{font-size:14px;line-height:1.55}.vz-source-choices{margin-top:34px}.vz-source-choices .vz-section-heading{align-items:center;justify-content:center;text-align:center;flex-direction:column;gap:7px;margin-bottom:18px}.vz-source-choices h3{font-size:19px;letter-spacing:-.3px}.vz-prompt-strip{max-width:960px;margin:28px auto 0}.vz-prompt-box{width:100%;max-width:940px;align-self:center;border-color:#829ffa40;box-shadow:0 3px 22px #6584de0b}.vz-prompt-box:focus-within{box-shadow:0 0 0 1px #6a8ff93a,0 5px 32px #6584de18}.vz-reference-accordions details{transition:background .2s}.vz-reference-accordions details[open]{background:#7096ff06}.vz-reference-accordions details[open] .vz-advanced-content{animation:none}.vz-reference-accordions summary{cursor:pointer}.vz-compare-stage img{object-fit:contain!important;object-position:50% 50%!important}.vz-enhance-stage .vz-enhance-plane{transform-origin:center}.vz-compare-handle{transition:box-shadow .18s}.vz-compare-handle:hover{box-shadow:0 0 0 6px #527eff1a}.vz-card,.vz-source-choice,.vz-reference-card{transition:border-color .2s,box-shadow .2s,transform .2s}.vz-source-choice:hover,.vz-reference-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #6880b518}.vz-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}.vz-task-tracker{--vz-blue:#4776f5}[data-vz-theme=dark]~.vz-task-tracker,body[data-vz-theme=dark] .vz-task-tracker{--vz-card:#172033;--vz-text:#e8eefb;--vz-border:#2e3a50;--vz-muted:#9cabbe}.vz-app [data-tooltip]{position:relative}.vz-app [data-tooltip]:not(svg):hover:after,.vz-app [data-tooltip]:not(svg):focus-visible:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:max-content;max-width:240px;white-space:normal;background:#1c2941;color:#f4f7ff;border:1px solid #ffffff1c;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:400;line-height:1.45;z-index:210;box-shadow:0 7px 25px #0b17342a;pointer-events:none;animation:vz-workspace-enter .16s ease}.vz-export-layout .vz-settings{padding:24px}.vz-export-layout .vz-range-row{gap:12px}.vz-export-layout .vz-card{border-radius:14px}.vz-layer-tabs button{padding:10px 8px}.vz-top-icon:focus-visible,button:focus-visible{outline:2px solid #7f9fff;outline-offset:3px}
@keyframes vz-workspace-enter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1150px){.vz-sidebar{width:172px}.vz-nav button{font-size:13px}.vz-side-label{font-size:10px}.vz-layers-panel{width:255px}.vz-source-empty{padding:24px}}
@media(prefers-reduced-motion:reduce){.vz-app *,.vz-app *:before,.vz-app *:after{animation:none!important;transition:none!important}}
.vz-layer{grid-template-columns:24px 48px 48px minmax(0,1fr) 24px}.vz-layer>span{min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;overflow-wrap:anywhere}.vz-mask-thumb[aria-label="No layer mask"]{background:transparent;border:1px dashed var(--vz-line,#dce4ef)}
/* The video stage stays dark in both themes; its empty-state copy needs its own contrast. */
.vz-app .vz-video-editor .vz-preview-video>.vz-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:100%;box-sizing:border-box;color:#f4f7fc}
.vz-app .vz-video-editor .vz-preview-video>.vz-empty-state>h2{color:#f4f7fc;font-size:22px;line-height:1.35;margin:0}
.vz-app .vz-video-editor .vz-preview-video>.vz-empty-state>p{color:#bdc8da;font-size:14px;line-height:1.65;max-width:370px;margin:0 0 8px}

/* Routine work keeps its surface stable. Motion is reserved for transient UI. */
.vz-content>:is(.vz-scroll,.vz-generate-layout,.vz-enhance-layout,.vz-export-layout),.vw-content[data-vw-enter],.vw-details[open]>*:not(summary),.vw-assistant{animation:none!important}
.vz-nav button,.vz-video-tabs>button,.vz-segment>button,.vz-layer-tabs>button{transition:color 120ms ease-out,background-color 120ms ease-out,box-shadow 120ms ease-out}
.vz-nav button:hover{transform:none}
.vz-nav-indicator{transition:top 150ms cubic-bezier(.2,0,0,1),height 150ms cubic-bezier(.2,0,0,1);animation:none}
@media(prefers-reduced-motion:reduce){.vz-nav-indicator{transition:none}}

.vz-toast-stack{top:80px;bottom:auto;z-index:8200;pointer-events:none}.vz-toast{min-width:220px;max-width:330px}
