.canvas-selection-block{position:absolute;z-index:36;border:.5px dashed rgba(190,194,198,.58);border-radius:6px;background:rgba(156,160,164,.035);box-shadow:none;pointer-events:none}
.canvas-persistent-groups{position:absolute;inset:0;z-index:35;pointer-events:none}
.canvas-persistent-group-frame{position:absolute;border:.5px dashed rgba(190,194,198,.5);border-radius:6px;background:rgba(156,160,164,.025);box-shadow:none;pointer-events:none}
.canvas-selection-block[hidden]{display:none}
.canvas-selection-actions{position:absolute;left:50%;bottom:calc(100% + 12px);display:flex;align-items:center;gap:3px;min-height:36px;padding:4px 6px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(30,31,35,.96);box-shadow:0 12px 32px rgba(0,0,0,.34),0 0 0 1px rgba(65,215,226,.05);color:#edf1f2;backdrop-filter:blur(18px);transform:translateX(-50%);pointer-events:auto;white-space:nowrap;user-select:none}
.canvas-selection-block.place-toolbar-below .canvas-selection-actions{top:calc(100% + 12px);bottom:auto}
.canvas-selection-port{position:absolute;top:50%;display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:1px solid rgba(205,210,214,.72);border-radius:50%;background:#24262a;color:#e9edef;font-size:12px;line-height:1;pointer-events:auto;cursor:crosshair;box-shadow:0 0 0 2px rgba(10,11,13,.72);transition:border-color .15s,background .15s,color .15s,box-shadow .15s}
.canvas-selection-port.out{right:0;transform:translate(50%,-50%)}
.canvas-selection-port:hover,.canvas-selection-port.linking-target{border-color:#49d9e5;background:#173d42;color:#65eef5;box-shadow:0 0 0 3px rgba(73,217,229,.12)}
.canvas-selection-layout-wrap{position:relative;display:flex}
.canvas-selection-actions button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.canvas-selection-action-divider{width:1px;height:21px;margin:0 3px;background:rgba(255,255,255,.1)}
.canvas-selection-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:28px;padding:0 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:#e4e7e9;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.canvas-selection-actions button:hover{border-color:rgba(83,215,226,.22);background:rgba(60,204,217,.1);color:#fff}
.canvas-selection-actions button:disabled{opacity:.32;cursor:not-allowed}
.canvas-selection-actions button.is-icon-only{width:29px;padding:0}
.canvas-selection-actions button i{margin-left:1px;color:#aeb3b6;font-size:12px;font-style:normal}
.canvas-selection-layout-menu{position:absolute;left:-6px;bottom:calc(100% + 10px);display:flex;flex-direction:column;gap:2px;min-width:138px;padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(31,32,36,.98);box-shadow:0 12px 32px rgba(0,0,0,.38);backdrop-filter:blur(18px)}
.canvas-selection-layout-menu[hidden]{display:none}
.canvas-selection-layout-menu button{justify-content:flex-start;width:100%;height:31px;padding:0 8px;font-size:12px}
.canvas-selection-layout-menu button svg{width:17px;height:17px;margin-right:2px}
.canvas-selection-actions.is-busy{pointer-events:none;opacity:.72}
@media(max-width:760px){.canvas-selection-actions{max-width:calc(100vw - 28px);overflow-x:auto}.canvas-selection-actions button{padding:0 9px}}
