/* Shared panel chrome. Content and docking slots are owned by the Studio workspace. */
.sd-dock-managed{position:relative;min-width:0;min-height:0}
.sd-dock-managed[hidden],.sd-dock-managed.sd-dock-minimized{display:none!important}
.sd-dock-handle{touch-action:none;user-select:none;cursor:grab}
.sd-dock-handle:focus-visible{outline:max(2px, var(--cb-border-width)) solid var(--cb-focus);outline-offset:-3px}
.sd-dock-title{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--cb-editor-space) * 0.4);min-height:34px;padding:calc(var(--cb-editor-space) * 0.2) calc(var(--cb-editor-space) * 0.5);flex:0 0 auto;border-bottom:var(--cb-border-width) solid var(--cb-border);background:var(--cb-raised);color:var(--cb-text);font-size:calc(12px * var(--cb-type-scale))}
.sd-dock-title strong{font:inherit;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-dock-controls{display:inline-flex!important;flex:0 0 auto;align-items:center;gap:calc(var(--cb-editor-space) * 0.15)!important;margin-left:auto}
.sd-dock-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;min-height:26px!important;padding:4px!important;border:var(--cb-border-width) solid transparent;border-radius:calc(var(--cb-radius) * 0.33333);background:transparent;color:var(--cb-text);font:inherit;cursor:pointer}
.sd-dock-button:hover{background:var(--cb-hover);border-color:var(--cb-border-strong)}
.sd-dock-button[data-sd-panel-action=hide]:hover{color:var(--cb-link);background:var(--cb-hover);border-color:var(--cb-border-strong)}
.sd-dock-button[aria-pressed=true]{background:var(--cb-selected);color:var(--cb-on-selected)}
.sd-dock-button:focus-visible{outline:max(2px, var(--cb-border-width)) solid var(--cb-focus);outline-offset:1px}
.sd-dock-position{width:59px;min-width:59px;height:26px;min-height:26px;padding:calc(var(--cb-editor-space) * 0.1) calc(var(--cb-editor-space) * 0.15);border:var(--cb-border-width) solid var(--cb-border);border-radius:calc(var(--cb-radius) * 0.33333);background:var(--cb-raised);color:var(--cb-text);font:calc(11px * var(--cb-type-scale))/calc(1.3 * var(--cb-leading-scale)) var(--cb-font);cursor:pointer}
.sd-dock-position:focus-visible{outline:max(2px, var(--cb-border-width)) solid var(--cb-focus);outline-offset:1px}
.sd-dock-floating,.sd-dock-expanded{position:fixed!important;display:flex;flex-direction:column;box-sizing:border-box;margin:0!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;grid-area:auto!important;flex:none!important;z-index:330;border:var(--cb-border-width) solid var(--cb-border);border-radius:calc(var(--cb-radius) * 0.66667);background:var(--cb-raised);box-shadow:var(--cb-shadow);isolation:isolate}
.sd-dock-floating>.sd-dock-handle,.sd-dock-expanded>.sd-dock-handle{flex-shrink:0;background:var(--cb-inset)}
.sd-dock-expanded .sd-dock-handle{cursor:default}
.sd-dock-floating>*:not(.sd-dock-resize),.sd-dock-expanded>*:not(.sd-dock-resize){min-width:0}
.sd-dock-resize{position:absolute;z-index:30;display:none;touch-action:none;box-sizing:border-box}
.sd-dock-floating>.sd-dock-resize{display:block}
.sd-dock-resize-n,.sd-dock-resize-s{left:12px;right:12px;height:7px;cursor:ns-resize}
.sd-dock-resize-n{top:0}.sd-dock-resize-s{bottom:0}
.sd-dock-resize-e,.sd-dock-resize-w{top:12px;bottom:12px;width:7px;cursor:ew-resize}
.sd-dock-resize-e{right:0}.sd-dock-resize-w{left:0}
.sd-dock-resize-ne,.sd-dock-resize-nw,.sd-dock-resize-se,.sd-dock-resize-sw{width:16px;height:16px}
.sd-dock-resize-ne{right:0;top:0;cursor:nesw-resize}.sd-dock-resize-nw{left:0;top:0;cursor:nwse-resize}
.sd-dock-resize-se{right:0;bottom:0;cursor:nwse-resize}.sd-dock-resize-sw{left:0;bottom:0;cursor:nesw-resize}
.sd-dock-resize-se:after{content:'';position:absolute;right:4px;bottom:4px;width:7px;height:7px;border-right:calc(var(--cb-border-width) * 2) solid var(--cb-border);border-bottom:calc(var(--cb-border-width) * 2) solid var(--cb-border)}
.sd-dock-resize-se:focus-visible{outline:max(2px, var(--cb-border-width)) solid var(--cb-focus);outline-offset:-2px;background:var(--cb-inset)}
.sd-dock-divider{touch-action:none;outline:none}
.sd-dock-divider[data-sd-dock-axis=x]{cursor:col-resize}
.sd-dock-divider[data-sd-dock-axis=y]{cursor:row-resize}
.sd-dock-divider:focus-visible{outline:max(2px, var(--cb-border-width)) solid var(--cb-focus);outline-offset:-2px}
.sd-dock-pointer-busy,.sd-dock-pointer-busy *{user-select:none!important}
.sd-dock-dragging .sd-dock-handle{cursor:grabbing}
.sd-dock-hint{position:fixed;right:20px;bottom:20px;z-index:1200;max-width:calc(100vw - 40px);padding:11px 17px;border:calc(var(--cb-border-width) * 2) dashed var(--cb-border-strong);border-radius:calc(var(--cb-radius) * 0.58333);background:color-mix(in srgb, var(--cb-inset) 96.07843%, transparent);color:var(--cb-muted);pointer-events:none;font-size:calc(12px * var(--cb-type-scale));box-shadow:var(--cb-shadow)}
.sd-dock-hint[hidden]{display:none}
.sd-dock-hint.sd-dock-region{right:auto;bottom:auto;max-width:none;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb, var(--cb-inset) 72.15686%, transparent);font-weight:600;backdrop-filter:blur(1px)}
.sd-dock-hint.sd-dock-region[hidden]{display:none}
.sd-dock-modal.sd-dock-floating,.sd-dock-modal.sd-dock-expanded{overflow:hidden}
@media(prefers-reduced-motion:reduce){.sd-dock-managed,.sd-dock-button{scroll-behavior:auto;transition:none}}

/* A region owns one set of tabs and one shared viewport; tool instances are moved intact. */
.sd-dock-region{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;border:var(--cb-border-width) solid var(--cb-border);border-radius:calc(var(--cb-radius) * 0.66667);background:var(--cb-raised);overflow:visible}
.sd-dock-region[hidden]{display:none!important}
.sd-dock-region-heading{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0;padding:4px 5px;border-bottom:var(--cb-border-width) solid var(--cb-border);background:var(--cb-inset);border-radius:calc(var(--cb-radius) * 0.58333) calc(var(--cb-radius) * 0.58333) 0 0}
.sd-dock-region-label{font:600 calc(10px * var(--cb-type-scale))/calc(1.2 * var(--cb-leading-scale)) var(--cb-font);color:var(--cb-muted);flex-shrink:0;writing-mode:vertical-rl;letter-spacing:2px}
.sd-dock-region-tabs{display:flex;flex:1;gap:3px;min-width:0;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:thin}
.sd-dock-region-tabs>button{flex:0 0 auto;white-space:nowrap;min-height:30px;padding:5px 9px;border:var(--cb-border-width) solid transparent;border-radius:calc(var(--cb-radius) * 0.41667);background:transparent;color:var(--cb-text);font:500 calc(11px * var(--cb-type-scale))/calc(1.3 * var(--cb-leading-scale)) var(--cb-font);cursor:pointer}
.sd-dock-region-tabs>button[aria-selected=true]{background:var(--cb-selected);border-color:var(--cb-border-strong);color:var(--cb-on-selected);box-shadow:var(--cb-shadow)}
.sd-dock-region-tabs>button:focus-visible{outline:max(2px, var(--cb-border-width)) solid var(--cb-focus);outline-offset:-2px}
.sd-dock-region-body{display:flex;flex:1;min-width:0;min-height:0;overflow:hidden}
.sd-dock-region-body>.sd-dock-managed{position:relative!important;display:flex;flex-direction:column;flex:1;min-width:0!important;min-height:0!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0 0 calc(var(--cb-radius) * 0.58333) calc(var(--cb-radius) * 0.58333);overflow:auto;overscroll-behavior:contain;box-shadow:none!important;grid-area:auto!important}
.sd-dock-region-body>.sd-dock-managed[hidden]{display:none!important}
.sd-dock-region-body>.sd-tool-panel>.sd-tool-body{flex:1;min-height:0;overflow:auto;padding:8px;overscroll-behavior:contain}
.sd-dock-region-body .sd-dock-handle{flex-shrink:0;position:relative}
.sd-dock-region-divider{position:absolute;z-index:50;touch-action:none;border-radius:calc(var(--cb-radius) * 0.25);outline:none}
.sd-dock-region-divider[data-sd-dock-axis=x]{top:0;bottom:0;left:-7px;width:7px;cursor:col-resize}
.sd-dock-region[data-sd-dock-region=left]>.sd-dock-region-divider{left:auto;right:-7px}
.sd-dock-region-divider[data-sd-dock-axis=y]{left:0;right:0;top:-7px;height:7px;cursor:row-resize}
.sd-dock-region[data-sd-dock-region=top]>.sd-dock-region-divider{top:auto;bottom:-7px}
.sd-dock-region-divider:hover,.sd-dock-region-divider:focus-visible{background:var(--cb-hover);outline:max(1px, var(--cb-border-width)) solid var(--cb-focus)}
.sd-regions-compact .sd-dock-region-divider{display:none}
