.atlas-v2-workspace {
  /* Sizing */
  --atlas-splitter-size: 0.25rem;
  --atlas-splitter-hit-area: 0.25rem;
  --atlas-chrome-height: 2rem;
  --atlas-gap: 0.375rem;
  --atlas-padding-compact: 0.375rem 0.625rem;
  --atlas-radius: 0.25rem;
  --atlas-radius-sm: 0.125rem;
  --atlas-border-width: 1px;
  --atlas-focus-ring-width: 2px;
  --atlas-drag-preview-max-width: min(20rem, calc(100vw - 1rem));
  /* Colors */
  --atlas-accent: Highlight;
  --atlas-surface: Canvas;
  --atlas-text: CanvasText;
  --atlas-drag-preview-shadow: rgb(0 0 0 / 28%);
  /* Chrome colors (ADR-0023 extension) */
  --atlas-group-bg: transparent;
  --atlas-chrome-bg: transparent;
  --atlas-tab-text: inherit;
  --atlas-tab-text-active: inherit;
  --atlas-tab-bg-active: transparent;
  --atlas-tab-bg-hover: transparent;
  --atlas-splitter-color: currentColor;
  /* Opacity */
  --atlas-splitter-opacity: 0.18;
  --atlas-splitter-opacity-hover: 0.4;
  --atlas-splitter-opacity-focus: 0.5;
  --atlas-splitter-opacity-disabled: 0.08;
  --atlas-drop-highlight-alpha-soft: 15%;
  --atlas-drop-highlight-alpha-strong: 22%;
  --atlas-toolbar-divider-opacity: 0.25;
  --atlas-drag-preview-opacity: 0.92;
  /* Layering */
  --atlas-layer-content: 0;
  --atlas-layer-chrome: 10;
  --atlas-layer-drag: 30;
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-inline-size: 0;
  min-block-size: 0;
  overflow: hidden;
  isolation: isolate;
}

.atlas-v2-work-area {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-inline-size: 0;
  min-block-size: 0;
}

.atlas-v2-split {
  display: grid;
  min-inline-size: 0;
  min-block-size: 0;
}

.atlas-v2-split-inline {
  grid-template-columns:
    var(--atlas-first-track)
    var(--atlas-splitter-size)
    var(--atlas-second-track);
}

.atlas-v2-split-block {
  grid-template-rows:
    var(--atlas-first-track)
    var(--atlas-splitter-size)
    var(--atlas-second-track);
}

.atlas-v2-splitter {
  position: relative;
  z-index: var(--atlas-layer-chrome);
  background: var(--atlas-splitter-color);
  color: var(--atlas-splitter-color);
  opacity: var(--atlas-splitter-opacity);
  touch-action: none;
  user-select: none;
}

.atlas-v2-splitter::before {
  content: "";
  position: absolute;
  inset: calc(-1 * var(--atlas-splitter-hit-area));
}

.atlas-v2-split-inline > .atlas-v2-splitter {
  cursor: col-resize;
}

.atlas-v2-split-block > .atlas-v2-splitter {
  cursor: row-resize;
}

.atlas-v2-splitter[aria-disabled="true"] {
  cursor: default;
  opacity: var(--atlas-splitter-opacity-disabled);
}

.atlas-v2-splitter:focus-visible {
  opacity: var(--atlas-splitter-opacity-focus);
  outline: var(--atlas-focus-ring-width) solid currentColor;
  outline-offset: -2px;
}

.atlas-v2-workspace button:focus-visible,
.atlas-v2-content-outlet:focus-visible {
  outline: var(--atlas-focus-ring-width) solid currentColor;
  outline-offset: 2px;
}

.atlas-v2-splitter:hover,
.atlas-v2-split[data-atlas-resizing="true"] > .atlas-v2-splitter {
  opacity: var(--atlas-splitter-opacity-hover);
}

.atlas-v2-splitter-collapse {
  position: relative;
  display: block;
  margin: auto;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

.atlas-v2-group {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-inline-size: 0;
  min-block-size: 0;
  overflow: hidden;
  background: var(--atlas-group-bg);
}

.atlas-v2-group-collapsed {
  visibility: hidden;
}

.atlas-v2-split[data-atlas-split-hidden="both"] {
  visibility: hidden;
}

.atlas-v2-splitter[data-atlas-splitter-hidden="true"] {
  visibility: hidden;
}

.atlas-v2-content-outlet,
.atlas-v2-empty-state {
  z-index: var(--atlas-layer-content);
  min-inline-size: 0;
  min-block-size: 0;
  overflow: auto;
}

.atlas-v2-tab-strip,
.atlas-v2-panel-header,
.atlas-v2-toolbar {
  z-index: var(--atlas-layer-chrome);
  background: var(--atlas-chrome-bg);
}

.atlas-v2-tab-strip {
  display: flex;
  overflow-inline: auto;
}

.atlas-v2-tab-strip [role="tab"] {
  color: var(--atlas-tab-text);
  background: transparent;
}

.atlas-v2-tab-strip [role="tab"][aria-selected="true"] {
  color: var(--atlas-tab-text-active);
  background: var(--atlas-tab-bg-active);
}

.atlas-v2-tab-strip [role="tab"]:hover:not([aria-selected="true"]),
.atlas-v2-tab-strip [role="tab"]:focus-visible {
  background: var(--atlas-tab-bg-hover);
}

.atlas-v2-toolbar {
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
  min-block-size: 0;
}

.atlas-v2-toolbar-area {
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
  min-block-size: 0;
}

.atlas-v2-toolbar-area-bottom {
  justify-content: flex-end;
  flex: 1;
}

.atlas-v2-toolbar-region {
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
  min-block-size: 0;
  position: relative;
}

.atlas-v2-toolbar-divider {
  border-block-start: var(--atlas-border-width) solid currentColor;
  opacity: var(--atlas-toolbar-divider-opacity);
}

.atlas-v2-toolbar-section-divider {
  flex: 0 0 auto;
}

.atlas-v2-toolbar-section-divider[data-atlas-toolbar-section-divider="false"] {
  visibility: hidden;
}

.atlas-v2-drop-scaffold {
  display: none;
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  block-size: var(--atlas-chrome-height);
  box-sizing: border-box;
  opacity: 0;
}

.atlas-v2-workspace[data-atlas-dragging="true"] .atlas-v2-drop-scaffold[data-atlas-drop-scaffold="true"] {
  display: block;
}

.atlas-v2-workspace[data-atlas-dragging="true"] .atlas-v2-toolbar-region[data-atlas-region-empty="true"] {
  min-block-size: var(--atlas-chrome-height);
  min-inline-size: 100%;
}

.atlas-v2-workspace[data-atlas-dragging="true"] .atlas-v2-toolbar {
  min-inline-size: var(--atlas-chrome-height);
}

.atlas-v2-workspace[data-atlas-dragging="true"] .atlas-v2-toolbar-area {
  min-inline-size: 100%;
}

/* 放置高亮：非 document group 元素保持整块指示
   （panel-header-insertion / toolbar-insertion / drop-scaffold /
   toolbar-region / panel-region-center / tab 上的 document-center） */
[data-atlas-drop-preview]:not([data-atlas-group-kind="document"]) {
  outline: var(--atlas-focus-ring-width) solid var(--atlas-accent);
  outline-offset: -2px;
  background: color-mix(in srgb, var(--atlas-accent) var(--atlas-drop-highlight-alpha-soft), transparent);
}

/* document group 本体不再整块上色；五区形状由 ::before 绘制。
   形状带宽 25% 与 documentTargetKind 判定严格一致（所见即所得）。 */
[data-atlas-group-kind="document"][data-atlas-drop-preview] {
  outline: none;
  background: transparent;
}

[data-atlas-group-kind="document"][data-atlas-drop-preview^="document-"]::before {
  content: "";
  position: absolute;
  z-index: calc(var(--atlas-layer-chrome) + 1);
  pointer-events: none;
  background: color-mix(in srgb, var(--atlas-accent) var(--atlas-drop-highlight-alpha-strong), transparent);
  outline: var(--atlas-focus-ring-width) solid var(--atlas-accent);
  outline-offset: -2px;
  border-radius: var(--atlas-radius-sm);
}

[data-atlas-group-kind="document"][data-atlas-drop-preview="document-inline-start"]::before {
  top: 0;
  bottom: 0;
  left: 0;
  width: 25%;
}

[data-atlas-group-kind="document"][data-atlas-drop-preview="document-inline-end"]::before {
  top: 0;
  bottom: 0;
  right: 0;
  width: 25%;
}

[data-atlas-group-kind="document"][data-atlas-drop-preview="document-block-start"]::before {
  top: 0;
  left: 0;
  right: 0;
  height: 25%;
}

[data-atlas-group-kind="document"][data-atlas-drop-preview="document-block-end"]::before {
  bottom: 0;
  left: 0;
  right: 0;
  height: 25%;
}

[data-atlas-group-kind="document"][data-atlas-drop-preview="document-center"]::before {
  top: 25%;
  left: 25%;
  width: 50%;
  height: 50%;
}

.atlas-v2-overlay-root {
  position: absolute;
  z-index: var(--atlas-layer-drag);
  inset: 0;
  pointer-events: none;
}

.atlas-v2-drag-preview {
  position: fixed;
  inset: 0 auto auto 0;
  display: inline-flex;
  align-items: center;
  gap: var(--atlas-gap);
  max-inline-size: var(--atlas-drag-preview-max-width);
  min-block-size: var(--atlas-chrome-height);
  box-sizing: border-box;
  contain: layout paint style;
  padding: var(--atlas-padding-compact);
  overflow: hidden;
  border: var(--atlas-border-width) solid var(--atlas-accent);
  border-radius: var(--atlas-radius);
  background: var(--atlas-surface);
  color: var(--atlas-text);
  box-shadow: 0 0.25rem 0.75rem var(--atlas-drag-preview-shadow);
  opacity: var(--atlas-drag-preview-opacity);
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
  text-overflow: ellipsis;
  will-change: transform;
}

.atlas-v2-drag-preview-title {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.atlas-v2-workspace[data-atlas-dragging="true"] .atlas-v2-drop-scaffold[data-atlas-drop-scaffold="true"][data-atlas-drop-preview="drop-scaffold"] {
  opacity: 1;
  border: var(--atlas-focus-ring-width) solid var(--atlas-accent);
  outline: 0;
  background: color-mix(in srgb, var(--atlas-accent) var(--atlas-drop-highlight-alpha-soft), transparent);
}

[data-atlas-dragging="true"] {
  cursor: grabbing;
  user-select: none;
}

@media (prefers-reduced-motion: reduce) {
  .atlas-v2-workspace *,
  .atlas-v2-workspace *::before,
  .atlas-v2-workspace *::after {
    scroll-behavior: auto;
    transition-duration: 0s;
    animation-duration: 0s;
  }
}

.atlas-v2-workspace[data-atlas-reduced-motion="true"] *,
.atlas-v2-workspace[data-atlas-reduced-motion="true"] *::before,
.atlas-v2-workspace[data-atlas-reduced-motion="true"] *::after {
  scroll-behavior: auto;
  transition-duration: 0s;
  animation-duration: 0s;
}
.atlas-v2-content-stack {
  display: contents;
}

.atlas-v2-sandbox-frame {
  width: 100%;
  height: 100%;
  border: 0;
}
