.canvas-node.is-layer-split-layer {
  border: 0; border-radius: 4px; background: transparent;
  box-shadow: var(--canvas-shadow-sm); overflow: visible;
}
.canvas-node.is-layer-split-background,
.canvas-node.is-layer-split-background.selected,
.canvas-node.is-layer-split-background.is-dragging { z-index: 1; }
.canvas-node.is-layer-split-subject { z-index: 2; }
.canvas-node.is-layer-split-subject.selected { z-index: 3; }
.canvas-node.is-layer-split-subject.is-dragging { z-index: 4; }
.canvas-node.is-layer-split-layer .canvas-node-head,
.canvas-node.is-layer-split-layer .canvas-connect-zone,
.canvas-node.is-layer-split-layer .canvas-input-zone,
.canvas-node.is-layer-split-layer .canvas-asset-info-badge { display: none; }
.canvas-node.is-layer-split-layer .canvas-node-body { width: 100%; height: 100%; padding: 0; display: block; overflow: visible; }
.canvas-layer-split-media { position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 4px; background: transparent; cursor: grab; transition: box-shadow 180ms ease, filter 180ms ease; }
.canvas-layer-split-media:active { cursor: grabbing; }
.canvas-layer-split-media img { display: block; width: 100%; height: 100%; object-fit: fill; user-select: none; -webkit-user-drag: none; }
.canvas-layer-split-role { position: absolute; left: 8px; top: 8px; padding: 3px 6px; border: 1px solid var(--canvas-border-strong); border-radius: 4px; color: var(--canvas-text); background: var(--canvas-surface-raised); font-size: 10px; line-height: 1; opacity: 0; pointer-events: none; transition: opacity 180ms ease; }
.canvas-node.is-layer-split-layer:hover .canvas-layer-split-role,
.canvas-node.is-layer-split-layer.selected .canvas-layer-split-role { opacity: 1; }
.canvas-node.is-layer-split-placeholder { background: var(--canvas-surface); box-shadow: var(--canvas-shadow-sm), inset 0 0 0 1px var(--canvas-accent-soft); }
.canvas-node.is-layer-split-placeholder .canvas-asset-task-placeholder { border-radius: 4px; background: var(--canvas-surface); }
.canvas-node.is-layer-split-placeholder .canvas-strands-label { color: var(--canvas-accent); }
.canvas-image-workflow-toolbar:has([data-image-workflow-slot="layer-split"]) { width: min(620px, calc(100vw - 88px)); }
.canvas-image-workflow-btn[data-image-workflow-slot="layer-split"] { width: 96px; border-color: var(--canvas-border-strong); background: var(--canvas-surface-active); }
.canvas-image-workflow-btn[data-image-workflow-slot="layer-split"] .canvas-image-workflow-mark { color: var(--canvas-accent); }
.canvas-image-workflow-btn[data-image-workflow-slot="layer-split"].is-layer-split-processing,
.canvas-image-workflow-btn[data-image-workflow-slot="layer-split"].is-layer-split-submitting { cursor: wait; opacity: .78; }
.canvas-image-workflow-btn[data-image-workflow-slot="layer-split"].is-layer-split-submitting::before,
.canvas-image-workflow-btn[data-image-workflow-slot="layer-split"].is-layer-split-processing::before { content: ""; position: absolute; left: 8px; right: 8px; bottom: 3px; height: 2px; border-radius: 4px; background: linear-gradient(90deg, transparent, var(--canvas-accent), transparent); background-size: 160% 100%; animation: canvasLayerSplitProgress 1.6s ease-in-out infinite; }
.canvas-image-workflow-btn[data-image-workflow-slot="layer-split"].is-layer-split-failed { border-color: var(--canvas-danger); }
@keyframes canvasLayerSplitProgress { from { background-position: 140% 0; } to { background-position: -40% 0; } }
@media (prefers-reduced-motion: reduce) { .canvas-image-workflow-btn[data-image-workflow-slot="layer-split"]::before { animation: none; } }
