.dock-split {display:flex;width:100%;height:100%;min-width:0;min-height:0}
.dock-split.vertical {flex-direction:column}
.dock-slot {display:flex;overflow:hidden}
.dock-group {width:100%;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff;border:1px solid #bdcdc2;border-radius:5px;overflow:hidden}
.dock-bar {height:36px;flex:none;display:flex;align-items:stretch;background:#e3ebe6;border-bottom:1px solid #c3d1c8;user-select:none}
.dock-tabs {display:flex;flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin}
.dock-tab {flex:none;border:0;border-radius:0;background:transparent;font-size:calc(13px + var(--ui-font-increase, 2px));padding:0 12px;cursor:grab;touch-action:none}
.dock-tab[aria-selected="true"] {background:#fff;box-shadow:inset 0 3px #338256;font-weight:600}
.dock-grip,.dock-close {border:0;border-radius:0;background:transparent;padding:0 9px;flex:none}
.dock-grip {cursor:grab;touch-action:none}
.dock-content {flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}
.dock-divider {flex:0 0 8px;position:relative;cursor:col-resize;touch-action:none}
.vertical>.dock-divider {cursor:row-resize}
.dock-divider:hover,.dock-divider:focus-visible {background:#9dc9ac;outline:none}
.dock-preview,.dock-ghost {position:fixed;pointer-events:none;z-index:1000;background:#3a965044;border:2px solid #338256;border-radius:5px}
.dock-preview {display:flex;align-items:center;justify-content:center;color:#153522;font-size:calc(14px + var(--ui-font-increase, 2px))}
.dock-ghost {padding:8px 12px;background:#fff;z-index:1001}
.dock-preview[hidden],.dock-ghost[hidden] {display:none}
.dock-dragging {cursor:grabbing;user-select:none}
.dock-source {opacity:.4}
.dock-empty {padding:20px;text-align:center}
/* Directional targets complement the drop rectangle and its text label. */
.dock-preview {align-items:flex-end;padding:12px;text-shadow:0 1px 2px white;font-weight:600}
.dock-guides {position:fixed;pointer-events:none;z-index:1002;display:grid;grid-template-columns:repeat(3,34px);grid-template-rows:repeat(3,34px);gap:4px;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 4px #0005)}
.dock-guides[hidden] {display:none}
.dock-guides span {display:grid;place-items:center;border:1px solid #338256;border-radius:5px;background:#f4fbf6;color:#205c38;font:700 23px/1 Segoe UI,Arial,sans-serif}
.dock-guides [data-side="top"] {grid-area:1/2}
.dock-guides [data-side="left"] {grid-area:2/1}
.dock-guides [data-side="center"] {grid-area:2/2}
.dock-guides [data-side="right"] {grid-area:2/3}
.dock-guides [data-side="bottom"] {grid-area:3/2}
.dock-guides span.active {background:#338256;color:white;border-color:#205c38}
.dock-guides span.disabled {opacity:.35}
.dock-headers-hidden .dock-bar{display:none}

.dock-workspace{position:relative;box-sizing:border-box}
#workspace.has-left-drawers,.dock-workspace.has-left-drawers{padding-left:38px}
#workspace.has-right-drawers,.dock-workspace.has-right-drawers{padding-right:38px}
.dock-autohide,.dock-pin{border:0;border-radius:0;background:transparent;padding:0 6px;flex:none;font-size:calc(13px + var(--ui-font-increase, 2px))}
.dock-side-tabs{position:absolute;top:6px;bottom:6px;width:30px;display:flex;flex-direction:column;gap:5px;overflow-y:auto;scrollbar-width:thin;z-index:10}
.dock-side-tabs.left{left:4px}.dock-side-tabs.right{right:4px}
.dock-side-tab{writing-mode:vertical-rl;flex:none;max-height:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:12px 6px;border:1px solid #bdcdc2;border-radius:4px;background:#e3ebe6;color:#203327;font-size:calc(12px + var(--ui-font-increase, 2px));cursor:pointer}
.dock-side-tab[aria-expanded=true]{background:white;border-color:#338256;box-shadow:inset 3px 0 #338256}
.dock-drawer{position:absolute;top:6px;bottom:6px;max-width:calc(100% - 76px);min-width:0;z-index:9;box-shadow:0 4px 20px #0003;animation:dock-drawer-in 160ms ease-out}
.dock-drawer.left{left:38px;--drawer-slide:-30px}.dock-drawer.right{right:38px;--drawer-slide:30px}
.dock-drawer .dock-group{box-sizing:border-box}
.dock-drawer .dock-bar{display:flex}
@keyframes dock-drawer-in{from{transform:translateX(var(--drawer-slide));opacity:0}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.dock-drawer{animation:none}}
