﻿/* All page/dialog entrances use a local, stationary reveal, never an old/new page blend. */
.workspace { animation: none; }
:root[data-canvas-motion="off"] {
  --canvas-motion-reveal: none;
  --canvas-motion-dismiss: none;
  --canvas-motion-controls-duration: 0s;
}
@keyframes motion-reveal {
  0% { opacity: 0; }
  10% { opacity: .063096; }
  20% { opacity: .144956; }
  30% { opacity: .235801; }
  40% { opacity: .333021; }
  50% { opacity: .435275; }
  60% { opacity: .541728; }
  70% { opacity: .651805; }
  80% { opacity: .765082; }
  90% { opacity: .881234; }
  100% { opacity: 1; }
}

/* The veil owns its alpha; content never inherits an animated parent opacity. */
.dialog-overlay, .asset-preview-overlay, .board-preview-overlay,
.board-info-overlay, .text-editor-overlay {
  animation: none;
  background: transparent;
  backdrop-filter: none;
  isolation: isolate;
}
.dialog-overlay { --motion-veil-blur: 4px; }
.asset-preview-overlay, .text-editor-overlay { --motion-veil-blur: 12px; }
.board-preview-overlay { --motion-veil-blur: 10px; }
.board-info-overlay { --motion-veil-blur: 7px; }
.archive-preview-overlay { --motion-veil-color: color-mix(in srgb, var(--canvas-bg, #111214) 68%, transparent); }
.dialog-overlay::before, .asset-preview-overlay::before, .board-preview-overlay::before,
.board-info-overlay::before, .text-editor-overlay::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: var(--motion-veil-color, var(--overlay-scrim));
  backdrop-filter: blur(var(--motion-veil-blur));
  animation: var(--canvas-motion-reveal, motion-reveal) 120ms linear;
}
.canvas-dialog, .asset-preview-shell, .video-preview-shell, .folder-preview-shell,
.archive-preview-shell, .board-preview-dialog, .board-info-dialog, .text-editor-dialog {
  animation: var(--canvas-motion-reveal, motion-reveal) 160ms linear;
}
.context-menu, .context-submenu, .board-add-menu, .board-context-menu, .board-popover,
.selection-toolbar, .asset-preview-zoom-popover, .asset-crop-ratio-popover,
.archive-filter-menu, .text-editor-color-menu, .text-editor-download-menu,
.api-reference-hover-preview, .node-audio-volume-popover, .video-clip-advanced,
.api-generation-popup:popover-open, .audio-model-menu:popover-open,
.video-model-picker[open] > .video-model-menu, .video-mode-picker[open] > .video-mode-menu,
.video-generation-settings[open] > .video-generation-popover {
  animation: var(--canvas-motion-reveal, motion-reveal) 100ms linear;
}
.board-asset-panel, .camera-bookmark-panel, .board-search-drawer, .board-minimap,
.edge-inspector, .group-title-editor, .asset-resize-commandbar,
.archive-password-panel, .archive-media-viewer, .text-editor-discard-confirm,
.api-generation-composer, .audio-generation-composer, .video-generation-composer,
.video-clip-panel, .api-generation-preview.is-expanded > .api-generation-results,
.toast, .ai-task-card {
  animation: var(--canvas-motion-reveal, motion-reveal) 160ms linear;
}
.selection-menu { transition: none; }
.selection-menu-group.is-open > .selection-menu,
.selection-menu-group.is-open > .selection-menu[data-side="below"] {
  transform: none;
  animation: var(--canvas-motion-reveal, motion-reveal) 100ms linear;
}
.selection-toolbar { transition: none; }
.node-video-controls { transition: opacity var(--canvas-motion-controls-duration, 100ms) linear; }

/* Static task notices may exit briefly after business timers/input are stopped. */
@keyframes motion-dismiss { from { opacity: 1; } to { opacity: 0; } }
.ai-task-card { transition: none; }
.ai-task-card[data-dismissing="true"] {
  position: relative;
  transform: none;
  animation: var(--canvas-motion-dismiss, motion-dismiss) 100ms linear;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition-duration: 0s !important; }
}
