/* Existing controls retain their DOM and event handlers inside independent cards. */
#main-page .workspace.has-floating-panels>.studio-settings.has-sidebar-cards,#main-page .workspace.has-floating-panels>.canvas-layers-panel[data-layout=split]{inset:0;width:100%;height:100%;max-width:none;display:contents;overflow:visible;pointer-events:none;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;transition:none}
#main-page .workspace.has-floating-panels .studio-settings.has-sidebar-cards>.panel-body{display:contents;overflow:visible}
#main-page .workspace.has-floating-panels .canvas-layers-panel>.canvas-sidebar-content{display:contents;overflow:visible}
#main-page .workspace.has-floating-panels .canvas-floating-panel{box-sizing:border-box;position:absolute;display:flex;flex-direction:column;flex:none;min-width:0;min-height:0;max-height:none;margin:0;pointer-events:auto;overflow:visible;border:1px solid #ffffff24;border-radius:12px;background:#1b1b22f7;box-shadow:0 9px 30px #0006,inset 0 1px #ffffff06;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:border-color .16s,box-shadow .16s}
#main-page .workspace.has-floating-panels .canvas-floating-panel.is-moving,#main-page .workspace.has-floating-panels .canvas-floating-panel.is-resizing{border-color:#ead07885;box-shadow:0 12px 40px #0007,0 0 0 1px #ead07819}
#main-page .workspace.has-floating-panels .canvas-floating-panel-header{box-sizing:border-box;display:flex;align-items:center;flex-wrap:nowrap;flex:0 0 39px;min-height:39px;width:100%;gap:7px;margin:0;padding:0 10px;border-bottom:1px solid #ffffff0e;border-radius:11px 11px 0 0;background:linear-gradient(180deg,#ffffff04,transparent);color:#e6e3eb;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;font-size:11px;line-height:1.2;outline:none}
#main-page .workspace.has-floating-panels #canvas-selection-count{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#main-page .workspace.has-floating-panels .canvas-floating-panel-header:focus-visible{outline:1px solid #dfca7a;outline-offset:-3px}
.canvas-floating-panel-header .canvas-panel-heading-title{font-weight:550;letter-spacing:.2px;white-space:nowrap}
.canvas-panel-heading-icon{font-size:13px}.canvas-panel-drag-grip{display:block;width:5px;height:14px;flex:none;opacity:.55;background:radial-gradient(circle,#a6a0b3 .8px,transparent 1px) 0 0/4px 4px}
#main-page .workspace.has-floating-panels .canvas-floating-panel-header .canvas-panel-collapse{position:static;display:flex;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px;min-height:0;margin:0 0 0 auto;padding:4px;border:1px solid transparent;border-radius:6px;background:transparent;color:#bcb6c7;transform:none;box-shadow:none;cursor:pointer;touch-action:manipulation}
.canvas-panel-collapse::before,.canvas-panel-collapse::after{display:none!important}.canvas-panel-collapse svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}
#main-page .workspace.has-floating-panels .canvas-panel-collapse:hover{background:#e6c75e12;border-color:#e6c75e38;color:#f1d783}
#main-page .workspace.has-floating-panels .canvas-panel-collapse:focus-visible{outline:2px solid #ead078;outline-offset:1px}
#main-page .workspace.has-floating-panels .canvas-floating-panel.is-collapsed .canvas-floating-panel-header{border-bottom-color:transparent;border-radius:11px}
.canvas-floating-panel.is-collapsed .canvas-panel-collapse svg{transform:rotate(-90deg)}
#main-page .workspace.has-floating-panels .canvas-floating-panel.is-collapsed>:not(.canvas-floating-panel-header):not(.canvas-panel-resize){display:none!important}
#main-page .workspace.has-floating-panels .canvas-floating-panel .canvas-workbench-controls{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
#main-page .workspace.has-floating-panels .canvas-workbench-card .left-generate-bar{flex:none;border-radius:0 0 11px 11px}
#main-page .workspace.has-floating-panels .canvas-material-library .canvas-filmstrip{border-radius:0 0 11px 11px;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));overflow-y:auto;min-height:0}
#main-page .workspace.has-floating-panels .canvas-library-clear{margin:0 0 0 auto;flex:none}
#main-page .workspace.has-floating-panels .canvas-library-clear+.canvas-panel-collapse{margin-left:0}
.canvas-panel-resize{position:absolute;z-index:3;touch-action:none;user-select:none;-webkit-user-select:none;outline:none}
.canvas-panel-resize.is-n,.canvas-panel-resize.is-s{height:8px;left:10px;right:10px;cursor:ns-resize}.canvas-panel-resize.is-n{top:-4px}.canvas-panel-resize.is-s{bottom:-4px}
.canvas-panel-resize.is-w,.canvas-panel-resize.is-e{width:8px;top:10px;bottom:10px;cursor:ew-resize}.canvas-panel-resize.is-w{left:-4px}.canvas-panel-resize.is-e{right:-4px}
.canvas-panel-resize.is-ne,.canvas-panel-resize.is-se,.canvas-panel-resize.is-nw,.canvas-panel-resize.is-sw{width:13px;height:13px;z-index:4}
.canvas-panel-resize.is-ne{top:-4px;right:-4px;cursor:nesw-resize}.canvas-panel-resize.is-se{bottom:-4px;right:-4px;cursor:nwse-resize}.canvas-panel-resize.is-sw{bottom:-4px;left:-4px;cursor:nesw-resize}.canvas-panel-resize.is-nw{top:-4px;left:-4px;cursor:nwse-resize}
.canvas-panel-resize.is-se::after{content:'';position:absolute;right:4px;bottom:4px;width:5px;height:5px;border-right:1px solid #aaa2ba66;border-bottom:1px solid #aaa2ba66;border-radius:0 0 2px 0}
.canvas-panel-resize:focus-visible{background:#e8cc6538;border-radius:5px}.canvas-panel-resize[hidden]{display:none!important}
.canvas-panel-snap-guide{position:absolute;z-index:40;pointer-events:none;background:#e9c768;box-shadow:0 0 6px #e9c76870}
.canvas-panel-snap-guide.is-x{top:0;bottom:0;width:1px}.canvas-panel-snap-guide.is-y{left:0;right:0;height:1px}
.workspace.is-floating-panel-dragging,.workspace.is-floating-panel-dragging *{user-select:none!important;-webkit-user-select:none!important}.workspace.is-floating-panel-dragging .gf-tool-rail{transition:none!important}.canvas-floating-panel.is-moving .canvas-floating-panel-header{cursor:grabbing!important}
#main-page .workspace.has-floating-panels #canvas-settings-resize{display:none!important}
#main-page .workspace.has-compact-floating-panels .canvas-material-library .canvas-floating-panel-header{gap:5px;padding:0 8px;cursor:default}
#main-page .workspace.has-compact-floating-panels .canvas-material-library .canvas-panel-heading-title,#main-page .workspace.has-compact-floating-panels #canvas-selection-count{display:none}
#main-page .workspace.has-floating-panels .canvas-floating-panel.is-library-compact{z-index:40!important}
.canvas-floating-panel.is-library-compact .canvas-panel-collapse svg{transform:rotate(-90deg)}
#main-page .workspace.has-compact-floating-panels .canvas-material-library .canvas-filmstrip{grid-template-columns:minmax(0,1fr);grid-auto-rows:84px;padding:6px;gap:7px}
#main-page .workspace.has-compact-floating-panels .canvas-material-library :is(.canvas-filmstrip-item,.canvas-filmstrip-import){height:84px;min-height:84px}
#main-page .workspace.has-compact-floating-panels .canvas-material-library .canvas-filmstrip-pick{grid-template-rows:61px 11px;padding:4px;gap:3px}
#main-page .workspace.has-compact-floating-panels .canvas-material-library .canvas-filmstrip-pick img{height:61px}
#main-page .workspace.has-compact-floating-panels .canvas-filmstrip-state{display:none}
#main-page .workspace.has-compact-floating-panels .canvas-filmstrip-label{font-size:8px;line-height:11px}
#main-page .workspace.has-compact-floating-panels .canvas-filmstrip-import span:last-child{display:none}
@media(max-width:1100px){#main-page .workspace.has-floating-panels:not(.show-settings-panel)>.studio-settings.has-sidebar-cards{display:none}#main-page .workspace.has-floating-panels>.studio-settings.has-sidebar-cards{z-index:20}#main-page .workspace.has-floating-panels .canvas-floating-panel .settings-top{padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.canvas-panel-collapse svg,.canvas-floating-panel{transition:none!important}}
/* Four cards share one stacking context; hidden side shells reserve no canvas area. */
#main-page .workspace.has-floating-panels .canvas-floating-panel{z-index:20}
#main-page .workspace.has-floating-panels [data-layout=split] :is(.canvas-history-panel,.canvas-layers-view).canvas-floating-panel{display:flex;flex-direction:column;min-width:0;min-height:0;max-height:none;overflow:visible;padding:0;border:1px solid #ffffff24;background:#1b1b22f7}
#main-page .workspace.has-floating-panels .canvas-floating-panel-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;border-radius:0 0 11px 11px;scrollbar-width:thin;scrollbar-color:#625e6d transparent}
#main-page .workspace.has-floating-panels [data-layout=split] .canvas-layer-stack{flex:1 0 120px;min-height:120px;max-height:none;overflow-y:auto;overscroll-behavior:auto}
#main-page .workspace.has-floating-panels [data-layout=split] .canvas-layer-controls{flex:0 0 auto;min-height:0;max-height:none;overflow:visible}
#main-page .workspace.has-floating-panels .canvas-floating-panel-body>.canvas-save-bar{flex:none}
#main-page .workspace.has-floating-panels .canvas-floating-panel-body>.canvas-history-list{flex:1 0 70px;min-height:70px}
#main-page .workspace.has-floating-panels .canvas-floating-panel-header h2{display:flex;align-items:center;gap:6px;flex:1;min-width:0;margin:0;font-size:11px;line-height:1.2;font-weight:500}
#main-page .workspace.has-floating-panels .canvas-floating-panel-header h2 svg{width:15px;height:15px;flex-shrink:0}
#main-page .workspace.has-floating-panels .canvas-history-limit-label{font-size:9px;gap:3px;margin:0}
#main-page .workspace.has-floating-panels .canvas-history-limit-label input{width:37px;padding:3px;min-height:24px}
#main-page .workspace.has-floating-panels #canvas-history-resize{display:none!important}
.canvas-panel-snap-guide{z-index:200}
@media(max-width:1100px){#main-page .workspace.has-floating-panels:not(.show-layers-panel)>.canvas-layers-panel[data-layout=split]{display:none}#main-page .workspace.has-floating-panels .canvas-floating-panel{z-index:26}}
/* Canvas actions stay anchored to the viewport above movable cards. Only the
   controls accept pointers; the rest of this overlay remains transparent to edits. */
#main-page .workspace>.gf-fixed-overlay{position:absolute;inset:0;z-index:150;pointer-events:none;background:none;overflow:visible}
#main-page .gf-fixed-overlay>.gf-context-bar,#main-page .gf-fixed-overlay>.canvas-zoom-controls{pointer-events:auto}
#main-page .gf-fixed-overlay>.canvas-zoom-controls{position:absolute;margin:0;transform:none}
